(List (= scope= flags=0 words=[] bindings=[('PERMS', {[VarSub 1]})]) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('ARGS', {[DQ ]})]) (While (Com {[LIT_OTHER "["]} {[VarSub #]} {[LIT_CHARS -gt]} {[LIT_CHARS 1]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('ARGS', {[DQ [VarSub ARGS][LIT_CHARS " "][VarSub 1]]})]) (Com {[LIT_CHARS shift]}) ) ) (= scope= flags=0 words=[] bindings=[('DEST', {[VarSub 1]})]) (For SRC [{[VarSub ARGS]}]) (List (Com {[LIT_CHARS cp]} {[LIT_CHARS -a]} {[VarSub SRC]} {[VarSub DEST]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub DEST]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('DESTFILE', {[DQ [VarSub DEST][LIT_CHARS /][ComSub (Com {[LIT_CHARS basename]} {[DQ [VarSub SRC]]})]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('DESTFILE', {[DQ [VarSub DEST]]})]) ) (Com {[LIT_CHARS chmod]} {[VarSub PERMS]} {[VarSub DESTFILE]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]}) )