I am creating two shell jobs as follows
sleep 5 &
completion_pid=$!
sleep 40 && exit 1 &
failure_pid=$!
In bash
I am able to get the exit code of the first job to finish by using the -n
flag of wait
's command
# capture exit code of the first subprocess to exit
wait -n $completion_pid $failure_pid
It seems however that this flag is not available in my MacOS Big Sur's version of wait
(probably cause I am using zsh
- ? )
▶ wait -n
wait: job not found: -n
Are there any alternative tools to do this that are also available on MacOS
?
What perhaps is weird is that I am getting the same error when invoking a script containing wait -n
as bash myscript.sh
...
wait -n
was a relatively new addition tobash
(introduced in 4.3). Are you using an older version ofbash
? (And regarding your original question, I'm not aware of any simple way to simulatewait -n
inzsh
.) – Agranulocytosisbash
version; upgrading it allows me to at leas run my script withbash
interpreter – Jessee