在 zsh 中模拟等待的命令 -n 标志



我创建了两个shell作业,如下所示

sleep 5 &
completion_pid=$!
sleep 40 && exit 1 &
failure_pid=$! 

bash中,我能够通过使用wait的命令

-n标志获得要完成的第一个作业的退出代码
# capture exit code of the first subprocess to exit
wait -n $completion_pid $failure_pid

似乎这个标志在我的MacOS大苏尔的wait版本中不可用(可能是因为我使用zsh- ?)

▶ wait -n
wait: job not found: -n

MacOS上是否有其他工具可以做到这一点?

什么可能是奇怪的是,我得到同样的错误时,调用包含wait -n的脚本作为bash myscript.sh

由于您正在通过指定pid等待,因此您可以简单地执行

wait $completion_pid $failure_pid

最新更新