(command.CommandList children: [ (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name srcdir> 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: <Id.Op_Semi _> ) (C {<path_prepend_>} {<.>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:too_big) op: assign_op.Equal rhs: {<99999999999999999999999999999999999999999999999999999999999999999999>} spids: [24] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<0>} spids: [27] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtol>} {<1>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [47] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtol>} {<-1>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [63] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtol>} {<1k>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [79] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtol>} {(${ Id.VSub_Name too_big) <h>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [98] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtol>} {($ Id.VSub_DollarName '$too_big')}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [114] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtol>} {<x>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [130] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtol>} {<9x>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [146] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtol>} {<010>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [162] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtol>} {<MiB>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [181] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtoul>} {<1>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [201] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtoul>} {<-1>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [217] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtoul>} {<1k>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [233] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtoul>} {(${ Id.VSub_Name too_big) <h>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [252] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtoul>} {($ Id.VSub_DollarName '$too_big')}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [268] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtoul>} {<x>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [284] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.Simple words: [{<test-xstrtoul>} {<9x>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [300] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtoul>} {<010>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [316] ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<test-xstrtoul>} {<MiB>}] redirects: [ (redir op:<Id.Redir_DGreat '>>'> loc:(redir_loc.Fd fd:1) arg:{<out>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [332] ) ] ) ] ) (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: [372] ) ] ) ] spids: [342 369] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cr) op: assign_op.Equal rhs: {(SQ <'\\r'>)} spids: [380] ) ] ) ] ) (command.Simple words: [{<tr>} {<-d>} {(DQ ($ Id.VSub_DollarName '$cr'))}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<out>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<k>}) ] more_env: [(env_pair name:LC_ALL val:{<C>} spids:[391])] do_fork: T ) (C {<mv>} {<k>} {<out>}) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<expected>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 460 stdin_parts: [ <'1->1 ()\n'> <'-1->-1 ()\n'> <'1k->1024 ()\n'> <'invalid suffix in X argument \''> (${ Id.VSub_Name too_big) <'h\'\n'> <'X argument \''> ($ Id.VSub_DollarName '$too_big') <'\' too large\n'> <'invalid X argument \'x\'\n'> <'invalid suffix in X argument \'9x\'\n'> <'010->8 ()\n'> <'MiB->1048576 ()\n'> <'1->1 ()\n'> <'invalid X argument \'-1\'\n'> <'1k->1024 ()\n'> <'invalid suffix in X argument \''> (${ Id.VSub_Name too_big) <'h\'\n'> <'X argument \''> ($ Id.VSub_DollarName '$too_big') <'\' too large\n'> <'invalid X argument \'x\'\n'> <'invalid suffix in X argument \'9x\'\n'> <'010->8 ()\n'> <'MiB->1048576 ()\n'> ] ) ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<compare>} {<expected>} {<out>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [470] ) ] ) ] ) (C {<Exit>} {($ Id.VSub_DollarName '$result')}) ] )