(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PATH) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'>} spids: [8] ) ] ) (C {<export>} {<PATH>}) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:CC) op:assign_op.Equal rhs:{<cc>} spids:[22])] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ARCH) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<arch>}))} spids: [26] ) ] ) (C {<echo>} {<-n>} {(DQ <'Shell test 2 '>)}) (C {<rm>} {<-rf>} {<DIR_SH2>}) (C {<mkdir>} {<DIR_SH2>}) (C {<cd>} {<DIR_SH2>}) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<file>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 72 stdin_parts: [ <'The time has come the walrus said to talk of many things\n'> <'Of shoes and ships and sealing wax of cabbages and kings\n'> <'Of why the sea is boiling hot and whether pigs have wings\n'> ] ) ) ] do_fork: T ) (command.ShAssignment pairs: [(assign_pair lhs:(sh_lhs_expr.Name name:f) op:assign_op.Equal rhs:{<file>} spids:[73])] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<makefile>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 96 stdin_parts: [ <'all:\tx.c\n'> <'\t@'> ($ Id.VSub_DollarName '$CC') <' x.c >/dev/null 2>&1\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x.c>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 126 stdin_parts: [ <'#include <stdio.h>\n'> <'char s[] = {'> <Id.Right_DoubleQuote '"'> <'MS-DOS: Just say no'> <Id.Right_DoubleQuote '"'> <'};\t/* used by strings later */\n'> <'main() \n'> <'{\n'> <' int i; \n'> <' for (i = 15; i < 18; i++) printf('> <Id.Right_DoubleQuote '"'> <'%d'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) <n> <Id.Right_DoubleQuote '"'> <',i*i);\n'> <'}\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 143 stdin_parts: [<'225\n'> <'256\n'> <'289\n'>] ) ) ] do_fork: T ) (C {<make>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-f>} {<a.out>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [147 156] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Compilation>} {<failed>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<a.out>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-f>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [178 187] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<No>} {<compiler>} {<output>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [206 217] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<cc>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<echo>} {<Hi>} {<there>} {<folks>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-r>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [255 264] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<on>} {<chmod>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (C {<chmod>} {<377>} {<x>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-r>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {<-w>} {<'/'>}) (C {<echo>} {<Error>} {<on>} {<chmod>} {<test>} {<2>}) ] ) terminator: <Id.Op_Semi _> ) ] spids: [293 302] ) ] ) (C {<chmod>} {<700>} {<x>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-r>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [333 342] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<on>} {<chmod>} {<test>} {<3>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 385 stdin_parts: [ <'1 white bunny\n'> <'2 gray rabbits\n'> <'3 brown hares\n'> <'4 black conies\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 403 stdin_parts: [<'white\n'> <'gray \n'> <'brown\n'> <'black\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cut>} {<-c>} {<3-7>} {<x>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<y>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [419 430] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<cut>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$f')} {<Id.Lit_VarLike 'of='> <x>} {<Id.Lit_VarLike 'bs='> <12>} {<Id.Lit_VarLike 'count='> <1>} ] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$f')} {<Id.Lit_VarLike 'of='> <y>} {<Id.Lit_VarLike 'bs='> <6>} {<Id.Lit_VarLike 'count='> <4>} {<Id.Lit_VarLike 'skip='> <2>} ] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple words: [{<cat>} {<x>} {<y>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<z>})] do_fork: T ) (command.Simple words: [ {<dd>} {<Id.Lit_VarLike 'if='> ($ Id.VSub_DollarName '$f')} {<Id.Lit_VarLike 'of='> <answer>} {<Id.Lit_VarLike 'bs='> <9>} {<Id.Lit_VarLike 'count='> <4>} ] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<z>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [532 543] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<dd>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (C {<rm>} {<Id.Lit_QMark '?'>}) (command.Simple words: [{<df>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-r>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [579 588] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<df>} {<Test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (C {<rm>} {<Id.Lit_QMark '?'>}) (command.Simple words: [{<du>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<test>} {<-r>} {<x>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [624 633] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<du>} {<Test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Pipeline children: [ (C {<head>} {<-1>} {($ Id.VSub_DollarName '$f')}) (command.Simple words: [{<od>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$ARCH')} {<Id.Lit_Equals '='>} {<i86>} {<-o>} {($ Id.VSub_DollarName '$ARCH')} {<Id.Lit_Equals '='>} {<i386>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 711 stdin_parts: [ <'0000000 064124 020145 064564 062555 064040 071541 061440 066557\n'> <'0000020 020145 064164 020145 060567 071154 071565 071440 064541\n'> <'0000040 020144 067564 072040 066141 020153 063157 066440 067141\n'> <'0000060 020171 064164 067151 071547 000012\n'> <'0000071\n'> ] ) ) ] do_fork: T ) ] spids: [675 695] ) ] else_action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 728 stdin_parts: [ <'0000000 052150 062440 072151 066545 020150 060563 020143 067555\n'> <'0000020 062440 072150 062440 073541 066162 072563 020163 060551\n'> <'0000040 062040 072157 020164 060554 065440 067546 020155 060556\n'> <'0000060 074440 072150 064556 063563 005000\n'> <'0000071\n'> ] ) ) ] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [732 743] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<od>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Pipeline children: [ (C {<head>} {<-1>} {($ Id.VSub_DollarName '$f')}) (command.Simple words: [{<od>} {<-d>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$ARCH')} {<Id.Lit_Equals '='>} {<i86>} {<-o>} {($ Id.VSub_DollarName '$ARCH')} {<Id.Lit_Equals '='>} {<i386>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 820 stdin_parts: [ <'0000000 26708 08293 26996 25965 26656 29537 25376 28015\n'> <'0000020 08293 26740 08293 24951 29292 29557 29472 26977\n'> <'0000040 08292 28532 29728 27745 08299 26223 27936 28257\n'> <'0000060 08313 26740 28265 29543 00010\n'> <'0000071\n'> ] ) ) ] do_fork: T ) ] spids: [784 804] ) ] else_action: [ (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 837 stdin_parts: [ <'0000000 21608 25888 29801 28005 08296 24947 08291 28525\n'> <'0000020 25888 29800 25888 30561 27762 30067 08307 24937\n'> <'0000040 25632 29807 08308 24940 27424 28518 08301 24942\n'> <'0000060 31008 29800 26990 26483 02560\n'> <'0000071\n'> ] ) ) ] do_fork: T ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [841 852] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<od>} {<test>} {<2>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 891 stdin_parts: [<'red\n'> <'green\n'> <'blue\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 905 stdin_parts: [<'rood\n'> <'groen\n'> <'blauw\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 918 stdin_parts: [<'red\trood\n'> <'green\tgroen\n'> <'blue\tblauw\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<paste>} {<x>} {<y>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<z>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<z>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [929 940] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<paste>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<echo>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 984 stdin_parts: [ <Id.Right_DoubleQuote '"'> <'Hi,'> <Id.Right_DoubleQuote '"'> <' said Carol, laughing, '> <Id.Right_DoubleQuote '"'> <'How\'s life?'> <Id.Right_DoubleQuote '"'> <'\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<echo>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1001 stdin_parts: [<'hi\n'> <'said\n'> <'carol\n'> <'laughing\n'> <'how\'s\n'> <'life\n'>] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1003 1014] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<prep>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<printenv>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<grep>} {<HOME>} {<x>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1046 1058] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<printenv>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<grep>} {<PATH>} {<x>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1081 1093] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<printenv>} {<test>} {<2>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<grep>} {<SHELL>} {<x>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1116 1128] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<printenv>} {<test>} {<3>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple words: [{<grep>} {<USER>} {<x>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1151 1163] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<printenv>} {<test>} {<4>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<pwd>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<Pwd_file>})] do_fork: T ) (C {<cd>} {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<pwd>}))}) (command.Simple words: [{<pwd>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<test>} {<-s>} {<Pwd_file>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1208 1217] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<pwd>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<Pwd_file>} {<x>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1240 1251] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<pwd>} {<test>} {<2>}) terminator: <Id.Op_Semi _> ) ] ) (command.Pipeline children: [ (C {<strings>} {<a.out>}) (command.Simple words: [{<grep>} {(DQ <MS-DOS>)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1303 stdin_parts: [<'MS-DOS: Just say no\n'>] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1305 1316] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<strings>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<sum>} {($ Id.VSub_DollarName '$f')}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1360 stdin_parts: [<'29904 1\n'>] ) ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1362 1373] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<sum>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$f')}) (command.Simple words: [{<tee>} {<x>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) ] negated: F ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {($ Id.VSub_DollarName '$f')}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1413 1424] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<tee>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [(command.Sentence child:(C {<true>}) terminator:<Id.Op_Semi _>)] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1451 1457] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<true>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1497 stdin_parts: [<'100\n'> <'200\n'> <'200\n'> <'300\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1511 stdin_parts: [<'100\n'> <'200\n'> <'300\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<uniq>}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<x>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y>}) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<y>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1521 1532] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<uniq>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1572 stdin_parts: [ <'the big black dog\n'> <'the little white cat\n'> <'the big white sheep\n'> <'the little black cat\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cat>}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<answer>}) (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<END>} here_end_span_id: 1591 stdin_parts: [ <' 1 dog\n'> <' 1 sheep\n'> <' 2 big\n'> <' 2 black\n'> <' 2 cat\n'> <' 2 little\n'> <' 2 white\n'> <' 4 the\n'> ] ) ) ] do_fork: T ) (command.Pipeline children: [ (C {<prep>} {<x>}) (C {<sort>}) (command.Simple words: [{<uniq>} {<-c>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y1>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<sort>} {<Id.Lit_Other '+'> <1>}] redirects: [ (redir op:<Id.Redir_Less '<'> loc:(redir_loc.Fd fd:0) arg:{<y1>}) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y>}) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<y>} {<answer>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1621 1632] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<pipeline>} {<test>} {<1>}) terminator: <Id.Op_Semi _> ) ] ) (command.Pipeline children: [ (C {<cat>} {($ Id.VSub_DollarName '$f')} {($ Id.VSub_DollarName '$f')} {($ Id.VSub_DollarName '$f')} ) (C {<sort>}) (command.Simple words: [{<uniq>}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<x>})] do_fork: T ) ] negated: F ) (command.Simple words: [{<sort>}] redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$f')} ) (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<y>}) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<cmp>} {<-s>} {<x>} {<y>}) terminator: <Id.Op_Semi _> ) ] ) action: [(command.Sentence child:(C {<Id.Lit_Colon ':'>}) terminator:<Id.Op_Semi _>)] spids: [1683 1694] ) ] else_action: [ (command.Sentence child: (C {<echo>} {<Error>} {<Id.KW_In in>} {<pipeline>} {<test>} {<2>}) terminator: <Id.Op_Semi _> ) ] ) (C {<cd>} {<..>}) (C {<rm>} {<-rf>} {<DIR_SH2>}) (C {<echo>} {<ok>}) ] )