(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (= scope= flags=0 words=[] bindings=[('dir', {[DQ [VarSub 1]]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub dir]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (List redirects=[(DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1)] (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " directory"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " ie: "][VarSub 0][LIT_CHARS " /var/lib/docker"]]} ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -u]})]]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: "][VarSub 0][LIT_CHARS " must be run as root"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -d]} {[DQ [VarSub dir]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "error: "][VarSub dir][LIT_CHARS " is not a directory"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('dir', {[DQ [ComSub (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub dir]]})]]})]) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Nuking "][VarSub dir][LIT_CHARS " ..."]]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 10]} ) ) ) (Com {[LIT_CHARS echo]} ) (FunctionDef dir_in_dir [] (List (= scope= flags=0 words=[] bindings=[('inner', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('outer', {[DQ [VarSub 2]]})]) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub inner transform_ops=[VS_UNARY_POUND {[VarSub outer]}]]]} {[LIT_NEQUAL "!="]} {[DQ [VarSub inner]]} {[LIT_DBRACKET_LIKE "]"]} ) ) ) (For mount [{[ComSub (Com {[LIT_CHARS awk]} {[SQ ]} {[LIT_CHARS /proc/self/mountinfo]})]}]) (List (= scope= flags=0 words=[] bindings=[('mount', {[DQ [ComSub (AndOr OP_OR_IF (Com {[LIT_CHARS readlink]} {[LIT_CHARS -f]} {[DQ [VarSub mount]]}) (Com {[LIT_CHARS true]}) )]]})]) (If (Com {[LIT_CHARS dir_in_dir]} {[DQ [VarSub mount]]} {[DQ [VarSub dir]]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS umount]} {[LIT_CHARS -f]} {[DQ [VarSub mount]]} ) ) ) ) ) ) (If (Com {[LIT_CHARS command]} {[LIT_CHARS -v]} {[LIT_CHARS btrfs]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (List (= scope= flags=0 words=[] bindings=[('root', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS df]} {[DQ [VarSub dir]]}) (Com {[LIT_CHARS awk]} {[SQ 1 { print $NF }">]}) )]]})]) (= scope= flags=0 words=[] bindings=[('root', {[DQ [VarSub root transform_ops=[VS_UNARY_POUND {[LIT_SLASH /]}]]]})]) (For subvol [{[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS btrfs]} {[LIT_CHARS subvolume]} {[LIT_CHARS list]} {[LIT_CHARS -o]} {[DQ [VarSub root][LIT_CHARS /]]}) (Com {[LIT_CHARS awk]} {[LIT_CHARS -F] [SQ ]} {[SQ ]}) (Com {[LIT_CHARS sort]} {[LIT_CHARS -r]}) )]}]) (List (= scope= flags=0 words=[] bindings=[('subvolDir', {[DQ [VarSub root][LIT_CHARS /][VarSub subvol]]})]) (If (Com {[LIT_CHARS dir_in_dir]} {[DQ [VarSub subvolDir]]} {[DQ [VarSub dir]]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS btrfs]} {[LIT_CHARS subvolume]} {[LIT_CHARS delete]} {[DQ [VarSub subvolDir]]} ) ) ) ) ) ) ) ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub dir]]} ) ) ) )