如何编写脚本以在后台运行多个进程,并在每个单独的命令完成后运行其他命令?

时间:2011-07-01 02:40:19

标签: linux bash scripting

我正在尝试在bash脚本中执行以下操作:

for x in a b c; do echo foo $x; sleep 5 & y=$! ; (wait $y && echo bar $x) & done

这是否可行,而不会增加太多的复杂性(上面的例子当然不起作用)?

编辑:

当然,实际上,echo foo $x; sleep 5例如,复制一些大文件或编译大的文件,第二个操作是依赖第一个操作的操作。

1 个答案:

答案 0 :(得分:6)

也许我错过了一些东西但是如何使用()并将&放在整个子组命令上......

for i in 1 2 3; do (echo $i; sleep 5; echo end $i)& done