Behavior of wait -n differs on interactive and non-interactive sessions though, maybe this really is a bug
$ bash -ic '( ( sleep 0.1; exit 13 ) & sleep 0; wait -n; echo $? )' 0 $ bash -c '( ( sleep 0.1; exit 13 ) & sleep 0; wait -n; echo $? )' 13 On Wed, Nov 20, 2019 at 1:01 PM Oğuz <oguzismailuy...@gmail.com> wrote: > This seems more like a race condition, see: > > $ f() { ( sleep 0.1; exit 13 ) & "$@"; wait -n; echo $?; } > $ > $ f sleep 0.0 > [1] 30612 > [1]+ Exit 13 ( sleep 0.1; exit 13 ) > 13 > $ f sleep 0.2 > [1] 30617 > [1]+ Exit 13 ( sleep 0.1; exit 13 ) > 127 >