(command.CommandList children: [ (C {(Id.Lit_Other ':')} { (braced_var_sub token: (Token id:Id.VSub_Name val:srcdir span_id:6) suffix_op: (suffix_op.Unary op_id:Id.VTest_Equals arg_word:{(.)}) ) } ) (command.CommandList children: [ (command.Sentence child: (C {(.)} {(DQ ($ Id.VSub_DollarName '$srcdir') (/init.sh))}) terminator: (Token id:Id.Op_Semi val:';' span_id:17) ) (C {(path_prepend_)} {(.)}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LC_ALL) op: assign_op.Equal rhs: {(C)} spids: [27] ) ] ) (C {(export)} {(LC_ALL)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(echo)} {(solaris)}) (C {(tr)} {(-d)} {(SQ (Token id:Id.Lit_Chars val:'\\r' span_id:54))}) (command.Simple words: [{(grep)} {(solais)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:63) fd: -1 arg_word: {(/dev/null)} ) ] ) ] negated: F ) terminator: (Token id:Id.Op_Semi val:';' span_id:66) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cr) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'\\015' span_id:73))} spids: [71] ) ] ) ] spids: [41 68] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cr) op: assign_op.Equal rhs: {(SQ (Token id:Id.Lit_Chars val:'\\r' span_id:81))} spids: [79] ) ] ) ] ) (command.Simple words: [{(tr)} {(Id.Lit_Other '@')} {(SQ (Token id:Id.Lit_Chars val:'\\177' span_id:95))}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:98) fd: -1 here_begin: {(EOF)} here_end_span_id: 111 stdin_parts: [ ('nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn - entire line consumed\n') ('y@n - backspace does not change result\n') ('y\n') ('does not match either yesexpr or noexpr\n') ('n\n') ] ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:101) fd: -1 arg_word: {(in.tmp)} ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:115) fd: -1 here_begin: {(EOF)} here_end_span_id: 128 stdin_parts: [('N\n') ('Y\n') ('Y\n') ('N\n') ('n\n')] ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:118) fd: -1 arg_word: {(xout.tmp)} ) ] ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:fail) op:assign_op.Equal rhs:{(0)} spids:[130])] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(test-yesno)}) terminator: (Token id:Id.Op_Semi val:';' span_id:135) ) (command.Sentence child: (C {(test-yesno)} {(3)}) terminator: (Token id:Id.Op_Semi val:';' span_id:140) ) (C {(cat)}) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:145) fd: -1 arg_word: {(in.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:149) fd: -1 arg_word: {(out1.tmp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [155] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(tr)} {(-d)} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:169) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:173) fd: -1 arg_word: {(out.tmp)} ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[158])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [179] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cmp)} {(xout.tmp)} {(out.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [190] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Subshell command_list: (command.CommandList children: [ (command.Sentence child: (C {(test-yesno)} {(3)}) terminator: (Token id:Id.Op_Semi val:';' span_id:198) ) (command.Sentence child: (C {(test-yesno)}) terminator: (Token id:Id.Op_Semi val:';' span_id:201) ) (C {(cat)}) ] ) redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:206) fd: -1 arg_word: {(in.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:210) fd: -1 arg_word: {(out1.tmp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [216] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(tr)} {(-d)} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:230) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:234) fd: -1 arg_word: {(out.tmp)} ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[219])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [240] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cmp)} {(xout.tmp)} {(out.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [251] ) ] ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:260) fd: -1 here_begin: {(EOF)} here_end_span_id: 270 stdin_parts: [('Y\n') ('N\n')] ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:263) fd: -1 arg_word: {(xout.tmp)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {(echo)} {(yes)}) (command.Simple words: [{(test-yesno)} {(2)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:281) fd: -1 arg_word: {(out1.tmp)} ) ] ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [287] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(tr)} {(-d)} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:301) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:305) fd: -1 arg_word: {(out.tmp)} ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[290])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [311] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cmp)} {(xout.tmp)} {(out.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [322] ) ] ) ] ) (command.Simple words: [{(cat)}] redirects: [ (redir.HereDoc op: (Token id:Id.Redir_DLess val:'<<' span_id:331) fd: -1 here_begin: {(EOF)} here_end_span_id: 340 stdin_parts: [('N\n')] ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:334) fd: -1 arg_word: {(xout.tmp)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(test-yesno)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:343) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:346) fd: -1 arg_word: {(out1.tmp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [352] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(tr)} {(-d)} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:366) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:370) fd: -1 arg_word: {(out.tmp)} ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[355])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [376] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cmp)} {(xout.tmp)} {(out.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [387] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{(test-yesno)} {(0)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_LessAnd val:'<&' span_id:398) fd: -1 arg_word: {(-)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:401) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:405) fd: 2 arg_word: {(err.tmp)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [411] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(tr)} {(-d)} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Less val:'<' span_id:425) fd: -1 arg_word: {(out1.tmp)} ) (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:429) fd: -1 arg_word: {(out.tmp)} ) ] more_env: [(env_pair name:LC_ALL val:{(C)} spids:[414])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [435] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(cmp)} {(xout.tmp)} {(out.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [446] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test)} {(-s)} {(err.tmp)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fail) op: assign_op.Equal rhs: {(1)} spids: [457] ) ] ) ] ) (C {(Exit)} {($ Id.VSub_DollarName '$fail')}) ] )