(CommandList children: [ (C {(echo)} {(SQ <'--- softlimit insists on an argument'>)}) (CommandList children: [ (Sentence child:(C {(softlimit)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- softlimit complains if it cannot run program'>)}) (CommandList children: [ (Sentence child:(C {(softlimit)} {(./nonexistent)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] ) (C {(echo)} {(SQ <'--- softlimit -p0 still allows exec'>)}) (CommandList children: [ (Sentence child: (C {(softlimit)} {(-p0)} {(echo)} {(./nonexistent)}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_QMark '$?')}) ] ) ] )