bash -e -c 'echo $(exit 1) ; wait -n ; echo survived'
On Thu, Jun 19, 2025, 9:25 AM microsuxx <fxmb...@gmail.com> wrote: > hello there .. > to return $( and maybe <( use wait -n > > bash -e -c $'trap \'wait -n ; (( $? )) && exit 1\' debug ; echo $(exit 1) > ; echo survived' > $ u0_a427/10427 localhost 09:24:18 19.06.2025 > ~ > > > <no survived> > > On Thu, Jun 19, 2025, 12:39 AM Никола Константинов Кралев < > nkkra...@uni-sofia.bg> wrote: > >> ``` >> u can try >> >> trap '(( $? )) && exit 2' debug >> >> ``` >> I mean, I know that $? doesn't detect the tests I posted in my first >> email, even if we do >> >> bash -e -c 'echo $(exit 1) ; echo survived' >> >> We see that survived is printed, this trap snippet you wrote here seems >> to duplicate what set -e does? I repeated the tests I had, and the trap >> doesn't make a difference. My favorite way to track step by step execution >> is set -x and editing $PS4 of course, but those are just read only debug >> tools and they can't force bash to exit early. >> >> So, from all the replies I see here, I learned that this is not a bug, >> unfortunately, and is just how set -e works, and trying to do bulletproof >> status code checking with it is just, not perfect enough, and never will be. >> Thank you all, the bug report can be marked as resolved not-a-bug. >> >