(List (Com {[LIT_OTHER ":"]} {[LIT_CHARS mkdir]} {[LIT_CHARS for]} {[LIT_CHARS systems]} {[LIT_CHARS that]} {[LIT_CHARS do]} {[LIT_CHARS not]} {[LIT_CHARS support]} {[LIT_CHARS -p]} {[LIT_OTHER ":"]} {[LIT_CHARS 2002-09-01]} {[LIT_OTHER ":"]}) (= scope= flags=0 words=[] bindings=[('MKDIR', {[LIT_CHARS /bin/mkdir]})]) (= scope= flags=0 words=[] bindings=[('CHMOD', {[LIT_CHARS chmod]})]) (= scope= flags=0 words=[] bindings=[('mode', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('parents', {[SQ ]})]) (While (Com {[LIT_OTHER ":"]}) (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[LIT_CHARS -m]}], [{[LIT_CHARS -m] [LIT_OTHER "*"]}], [{[LIT_CHARS -p]}], [{[LIT_OTHER "*"]}]] (List (Case to_match={[VarSub #]}, pat_word_list=[[{[LIT_CHARS 1]}]] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "mkdir: -m: mode argument expected"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('mode', {[VarSub 1]})]) ) (= scope= flags=0 words=[] bindings=[('mode', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS X] [VarSub 1]}) (Com {[LIT_CHARS sed]} {[SQ ]}) )]})]) (= scope= flags=0 words=[] bindings=[('parents', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS break]}) ) (Com {[LIT_CHARS shift]}) ) ) (If (Com {[LIT_CHARS test]} {[DQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub parents]]}) (For d do_arg_iter) (If (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[VarSub d]}) (List (= scope= flags=0 words=[] bindings=[('ifs', {[VarSub IFS test_op=VS_TEST_HYPHEN {[LIT_CHARS "'\n"] [LIT_CHARS "\t '"]}]})]) (= scope= flags=0 words=[] bindings=[('IFS', {[LIT_CHARS /]})]) (Com {[LIT_CHARS set]} {[SQ ]} {[VarSub d]}) (= scope= flags=0 words=[] bindings=[('IFS', {[VarSub ifs]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('dir', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (If (Com {[LIT_CHARS test]} {[LIT_CHARS -n]} {[DQ [VarSub dir]]} {[LIT_CHARS -a]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub dir]]}) (List (AndOr OP_OR_IF (Com {[VarSub MKDIR]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (If (Com {[LIT_CHARS test]} {[DQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub mode]]}) (AndOr OP_OR_IF (Com {[VarSub CHMOD]} {[DQ [VarSub mode]]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) (For d do_arg_iter) (List (= scope= flags=0 words=[] bindings=[('dir', {[VarSub dir] [LIT_CHARS /] [VarSub d]})]) (If (Com {[LIT_CHARS test]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub dir]]}) (List (AndOr OP_OR_IF (Com {[VarSub MKDIR]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (If (Com {[LIT_CHARS test]} {[DQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub mode]]}) (AndOr OP_OR_IF (Com {[VarSub CHMOD]} {[DQ [VarSub mode]]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) ) ) ) ) ) (ElseTrue) (List (AndOr OP_OR_IF (Com {[VarSub MKDIR]} {[DQ [VarSub @]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) (If (Com {[LIT_CHARS test]} {[DQ ]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub mode]]}) (For d do_arg_iter) (AndOr OP_OR_IF (Com {[VarSub CHMOD]} {[DQ [VarSub mode]]} {[DQ [VarSub d]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) ) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )