command1 &
command2 &
wait
echo 'command1 and command2 have finished'
command3 &
command4 &
wait
echo 'command3 and command4 have finished'
Run Code Online (Sandbox Code Playgroud)
调用wait
将暂停脚本,直到所有后台任务完成执行。
或者(只是“供您参考”),取决于您是否希望命令 1 和 2 同时运行(相当于命令 3 和 4):
( command1; command2 ) &
echo 'command1 and command2 are running'
wait
echo 'command1 and command2 have finished'
Run Code Online (Sandbox Code Playgroud)
在上述情况下,command1
并command2
会在后台运行,但不能同时使用对方。
正在做
command1 & command2
wait
Run Code Online (Sandbox Code Playgroud)
相当于
command1 &
command2
wait
Run Code Online (Sandbox Code Playgroud)
...这将起作用,但command2
不会在后台运行,并且在执行完成wait
之前不会被调用command2
。