(command.CommandList children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'--- fghack insists on an argument'>)}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <fghack> more_env: [] words: [{<fghack>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'--- fghack complains if it cannot run program'>)}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <fghack> more_env: [] words: [{<fghack>} {<'./nonexistent'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <'--- fghack runs a program'>)}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <fghack> more_env: [] words: [{<fghack>} {<sh>} {<-c>} {(SQ <'echo hi &'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_QMark '?')}] redirects: [] do_fork: T ) ] ) ] )