(CommandList children: [ (C {(echo)} {(SQ <'--- fghack insists on an argument'>)}) (Sentence child:(C {(fghack)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) (C {(echo)} {(SQ <'--- fghack complains if it cannot run program'>)}) (Sentence child:(C {(fghack)} {(./nonexistent)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) (C {(echo)} {(SQ <'--- fghack runs a program'>)}) (Sentence child:(C {(fghack)} {(sh)} {(-c)} {(SQ <'echo hi &'>)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_QMark '$?')}) ] )