bash shell 不是已经将命令一一运行,等待执行的命令完成吗?那么我们wait
什么时候以及为什么需要这个命令呢?
Arc*_*mar 34
您可以使用wait
,如果你已经启动了后台任务,例如,
#!/bin/bash
task1 &
task2 &
task3 &
wait
echo done
Run Code Online (Sandbox Code Playgroud)
在此示例中,脚本启动三个后台任务。这些将在后台并发运行,并wait
等待所有三个任务完成。一旦wait
返回,脚本将继续处理echo done
.
正如评论中所指出的,wait
可以给出一个工作号 ( wait %3
) 或一个 pid ( wait 1234
)。虽然在交互式 bash 中很容易(使用job
或ps
)找到它们,但在批处理模式下可能更困难。