(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TMP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(mktemp)} {(-d)} {(/tmp/mtree.XXXXXX)})]) left_token: <Left_Backtick '`'> spids: [20 26] ) } spids: [19] ) ] spids: [19] ) (C {(mkdir)} {(-p)} {(${ VSub_Name TMP) (/mr)} {(${ VSub_Name TMP) (/mr/optional-dir)} {(${ VSub_Name TMP) (/mr/some-dir)} ) (C {(touch)} {(${ VSub_Name TMP) (/mr/optional-file)} {(${ VSub_Name TMP) (/mr/some-file)}) (SimpleCommand words: [{(mtree)} {(-c)} {(-p)} {(${ VSub_Name TMP) (/mr)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(${ VSub_Name TMP) (/_)} spids:[71])] ) (C {(rm)} {(-rf)} {(${ VSub_Name TMP) (/mr/optional-file)} {(${ VSub_Name TMP) (/mr/optional-dir)}) (SimpleCommand words: [{(mtree)} {(-p)} {(${ VSub_Name TMP) (/mr)} {(-K)} {(optional)}] redirects: [ (Redir op_id:Redir_Less fd:16777215 arg_word:{(${ VSub_Name TMP) (/_)} spids:[105]) (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[112]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:res) op:Equal rhs:{($ VSub_QMark '$?')} spids:[117])] spids: [117] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$res')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(DQ ("ERROR 'optional' keyword failed"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[144])] ) (C {(rm)} {(-rf)} {(${ VSub_Name TMP)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 135] ) ] spids: [16777215 161] ) (C {(rm)} {(-rf)} {(${ VSub_Name TMP)}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )