(command.CommandList children: [ (command.CommandList children: [ (command.Sentence child: (C {(.)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:srcdir span_id:7) suffix_op: (suffix_op.Unary op_id:Id.VTest_Equals arg_word:{(.)}) ) (/init.sh) ) } ) terminator: (Token id:Id.Op_Semi val:';' span_id:13) ) (C {(path_prepend_)} {(.)}) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fail) op:assign_op.Equal rhs:{(0)} spids:[20])] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test-readtokens)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [28] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(echo)} {(a) (Id.Lit_Other ':') (b) (Id.Lit_Other ':') (c) (Id.Lit_Other ':')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:44) fd: -1 arg_word: {(exp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [50] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {(printf)} {(a) (Id.Lit_Other ':') (b) (Id.Lit_Other ':') (c)}) (command.Simple words: [{(test-readtokens)} {(Id.Lit_Other ':')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:67) fd: -1 arg_word: {(out)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:71) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [76] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [87] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(echo)} {(a) (Id.Lit_Other ':') (b) (Id.Lit_Other ':') (c) (Id.Lit_Other ':')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:103) fd: -1 arg_word: {(exp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [109] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {(printf)} {(SQ (Token id:Id.Lit_Chars val:'a\\0b\\0c' span_id:115))}) (command.Simple words: [{(test-readtokens)} {(SQ (Token id:Id.Lit_Chars val:'\\0' span_id:123))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:126) fd: -1 arg_word: {(out)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:130) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [135] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [146] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(echo)} {(a) (Id.Lit_Other ':') (b) (Id.Lit_Other ':') (c) (Id.Lit_Other ':')}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:162) fd: -1 arg_word: {(exp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [168] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {(printf)} {(a) (Id.Lit_Other ':') (-) (Id.Lit_Other ':') (b-) (Id.Lit_Other ':') (c) (Id.Lit_Other ':') (Id.Lit_Other ':') } ) (command.Simple words: [{(test-readtokens)} {(Id.Lit_Other ':') (-)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:190) fd: -1 arg_word: {(out)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:194) fd: 2 arg_word: {(1)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [199] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(compare)} {(exp)} {(out)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [210] ) ] ) ] ) (C {(Exit)} {($ Id.VSub_DollarName '$fail')}) ] )