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