(CommandList children: [ (C {(Lit_Other ':')} { (BracedVarSub token: <VSub_Name srcdir> suffix_op: (StringUnary op_id:VTest_Equals arg_word:{(.)}) spids: [5 9] ) } ) (CommandList children: [ (Sentence child: (C {(.)} {(DQ ($ VSub_Name '$srcdir') (/init.sh))}) terminator: <Op_Semi ';'> ) (C {(path_prepend_)} {(.)}) ] ) (SimpleCommand words: [{(echo)} {(Hello)} {(world)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(in.tmp)})] ) (SimpleCommand words: [{(echo)} {(world)}] redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(xout.tmp)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(0)} spids:[43])] spids: [43] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (CommandList children: [(Sentence child:(C {(test-closein)}) terminator:<Op_Semi ';'>) (C {(cat)})] ) redirects: [ (Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(in.tmp)}) (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(out1.tmp)}) ] spids: [49 54] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[66])] spids: [66] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(cmp)} {(out1.tmp)} {(in.tmp)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[77])] spids: [77] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(test-closein)} {(consume)}) terminator: <Op_Semi ';'> ) (C {(cat)}) ] ) redirects: [ (Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(in.tmp)}) (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(out2.tmp)}) ] spids: [81 88] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[100])] spids: [100] ) ] ) (AndOr ops: [Op_DPipe] children: [ (C {(cmp)} {(out2.tmp)} {(xout.tmp)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[111])] spids: [111] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)} {(in.tmp)}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(test-closein)}) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[131])] spids: [131] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Pipeline children: [ (SimpleCommand words: [{(cat)} {(in.tmp)}] redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) (C {(test-closein)} {(consume)}) ] negated: F ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[150])] spids: [150] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(test-closein)}] redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(/dev/null)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[164])] spids: [164] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(test-closein)}] redirects: [(Redir op:<Redir_LessAnd '<&'> fd:16777215 arg_word:{(-)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[175])] spids: [175] ) ] ) (AndOr ops: [Op_DPipe] children: [ (SimpleCommand words: [{(test-closein)} {(consume)}] redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(/dev/null)})] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[191])] spids: [191] ) ] ) (AndOr ops: [Op_DAmp] children: [ (SimpleCommand words: [{(test-closein)} {(consume)} {(close)}] redirects: [ (Redir op:<Redir_LessAnd '<&'> fd:16777215 arg_word:{(-)}) (Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)}) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:fail) op:Equal rhs:{(1)} spids:[212])] spids: [212] ) ] ) (C {(Exit)} {($ VSub_Name '$fail')}) ] )