我正在尝试在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
例如,复制一些大文件或编译大的文件,第二个操作是依赖第一个操作的操作。
答案 0 :(得分:6)
也许我错过了一些东西但是如何使用()
并将&
放在整个子组命令上......
for i in 1 2 3; do (echo $i; sleep 5; echo end $i)& done