loaLakers
2015-05-15 03:20
采纳率: 88.9%
浏览 4.3k

linux同时执行一个目录下的所有脚本。

linux同时执行一个目录下的所有脚本,我使用的是下面的命令:
#!/system/bin/sh

for file in ls /data/misc/scripttest/*.sh
do
$file
done

这样的话可以执行所有的脚本,但是他是等前面一个脚本执行完成之后才执行后面一个的,怎么样写才能让这个目录下的所有脚本同时被执行呢?谢谢

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • wcjwcg 2015-05-15 06:26
    已采纳

    linux中,命令后面加上取地址符‘&’,表示此条命令在当前登录用户中转入后台执行。如果当前登录用户退出,则用户下所有后台命令都会强制退出。
    在命令前面加上nohup后,则把命令交由系统后台执行,当前用户退出不影响命令执行。
    nohup $file &
    这样的话,命令执行完成后,会把标准输出写入到nohup.out文件中。如果需要记录日志,在加上重定向就行。
    nohup $file > $file.log &

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • lbyyy 2015-05-15 03:26

    &后台运行
    do
    $file &
    done

    评论
    解决 无用
    打赏 举报
  • rc1960 2015-05-15 04:41

    最好前面加上nohup, 不然当前shell被关闭的时候,还没有执行完的脚本会被强制结束!

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题