[英]How do I write a script to run multiple processes in the background and have additional commands run once each individual command completes?
我正在尝试在 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
echo foo $x; sleep 5
例如,复制一些大文件或编译大文件,第二个操作将是依赖于第一个操作的操作。
也许我错过了一些东西,但是使用()
s 并将&
放在整个子组命令上怎么样......
for i in 1 2 3; do (echo $i; sleep 5; echo end $i)& done
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.