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

Linux 如何编写脚本在后台运行多个进程,并在每个命令完成后运行其他命令?,linux,bash,scripting,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;睡眠5将是例如,复制某个大文件或编译某个大文件,第二个操作将是依赖于第一个操作的操作。也许我遗漏了一些东西,但是使用()s并将&放在整个子组命

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

for x in a b c; do echo foo $x; sleep 5 & y=$! ; (wait $y && echo bar $x) & done
在不增加太多复杂性的情况下,这是可能的吗(当然,上面的示例实际上不起作用)

编辑:


当然在现实中,
echo foo$x;睡眠5将是例如,复制某个大文件或编译某个大文件,第二个操作将是依赖于第一个操作的操作。

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

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

谢谢,是的,我也注意到了。我仍然感兴趣的是,是否有一种简单的方法可以像我在问题中建议的那样,同时在不同的后台进程上等待
&&
语法用于。