(List (If (Com {[LIT_OTHER "["]} {[DQ [VarSub 1]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [LIT_CHARS -d]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('DELETE', {[LIT_CHARS 1]})]) (Com {[LIT_CHARS shift]}) ) ) (= scope= flags=0 words=[] bindings=[('ZAP', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub 1]]})]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub ZAP]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: zapchroot [-d] dirname"]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('i', {[DQ [ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [ComSub (Com {[LIT_CHARS pwd]})]]})]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub ZAP]]} {[LIT_OTHER "="] [LIT_OTHER "="]} {[DQ [VarSub i transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub ZAP transform_ops=[(#len)]]}}]]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Sanity check failed: cwd is under zapdir"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (For i [{[ComSub (Pipeline (Com {[LIT_CHARS awk]} {[SQ ]} {[LIT_CHARS /proc/mounts]}) (Com {[LIT_CHARS tac]}) )]}]) (List (= scope= flags=0 words=[] bindings=[('i', {[ComSub (Com {[LIT_CHARS echo]} {[LIT_CHARS -e]} {[DQ [VarSub i]]})]})]) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [VarSub ZAP]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [VarSub i transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[VarSub ZAP transform_ops=[(#len)]]}}]]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS continue]}) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Umounting: "][VarSub i]]}) (Com {[LIT_CHARS umount]} {[DQ [VarSub i]]}) ) ) )