(command.CommandList children: [ (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name srcdir> suffix_op: (suffix_op.Unary tok:<Id.VTest_Equals '='> arg_word:{<.>}) ) } ) (command.CommandList children: [ (command.Sentence child: (C {<.>} {(DQ ($ Id.VSub_DollarName '$srcdir') <'/init.sh'>)}) terminator: <Id.Op_Semi _> ) (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: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<echo>} {<solaris>}) (C {<tr>} {<-d>} {(SQ <'\\r'>)}) (command.Simple words: [{<grep>} {<solais>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cr) op: assign_op.Equal rhs: {(SQ <'\\015'>)} 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 <'\\r'>)} spids: [79] ) ] ) ] ) (command.Simple words: [{<tr>} {<Id.Lit_At '@'>} {(SQ <'\\177'>)}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc 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 op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<in.tmp>}) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 128 stdin_parts: [<'N\n'> <'Y\n'> <'Y\n'> <'N\n'> <'n\n'>] ) ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<xout.tmp>}) ] do_fork: T ) (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 child: (command.CommandList children: [ (command.Sentence child:(C {<test-yesno>}) terminator:<Id.Op_Semi _>) (command.Sentence child: (C {<test-yesno>} {<3>}) terminator: <Id.Op_Semi _> ) (C {<cat>}) ] ) redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<in.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<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 op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out.tmp>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[158])] do_fork: T ) (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 child: (command.CommandList children: [ (command.Sentence child: (C {<test-yesno>} {<3>}) terminator: <Id.Op_Semi _> ) (command.Sentence child:(C {<test-yesno>}) terminator:<Id.Op_Semi _>) (C {<cat>}) ] ) redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<in.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<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 op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out.tmp>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[219])] do_fork: T ) (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 op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 270 stdin_parts: [<'Y\n'> <'N\n'>] ) ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<xout.tmp>}) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {<echo>} {<yes>}) (command.Simple words: [{<test-yesno>} {<2>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out1.tmp>})] do_fork: T ) ] 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 op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out.tmp>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[290])] do_fork: T ) (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 op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin:{<EOF>} here_end_span_id:340 stdin_parts:[<'N\n'>]) ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<xout.tmp>}) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-yesno>}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<'/dev/null'>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out1.tmp>}) ] do_fork: T ) (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 op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out.tmp>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[355])] do_fork: T ) (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 op:<Id.Redir_LessAnd '<&'> loc:(redir_loc.Fd fd:0) arg:{<->}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<err.tmp>}) ] do_fork: T ) (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 op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out1.tmp>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<out.tmp>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[414])] do_fork: T ) (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')}) ] )