繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM