(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (= scope= flags=0 words=[] bindings=[('url', {[SQ ]})]) (FunctionDef command_exists [] (Com {[LIT_CHARS command]} {[LIT_CHARS -v]} {[DQ [VarSub @]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]}, pat_word_list=[[{[LIT_OTHER "*"] [LIT_CHARS 64]}], [{[LIT_OTHER "*"]}]] (ElseTrue) (List (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (AndOr OP_OR_IF (Com {[LIT_CHARS command_exists]} {[LIT_CHARS docker]} ) (Com {[LIT_CHARS command_exists]} {[LIT_CHARS lxc-docker]} ) ) (List (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 20]} ) ) ) ) ) (= scope= flags=0 words=[] bindings=[('user', {[DQ [ComSub (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS id]} {[LIT_CHARS -un]}) (Com {[LIT_CHARS true]}) )]]})]) (= scope= flags=0 words=[] bindings=[('sh_c', {[SQ ]})]) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub user]]} {[LIT_NEQUAL "!="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (If (Com {[LIT_CHARS command_exists]} {[LIT_CHARS sudo]} ) (= scope= flags=0 words=[] bindings=[('sh_c', {[SQ ]})]) (Com {[LIT_CHARS command_exists]} {[LIT_CHARS su]} ) (= scope= flags=0 words=[] bindings=[('sh_c', {[SQ ]})]) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('curl', {[SQ ]})]) (If (Com {[LIT_CHARS command_exists]} {[LIT_CHARS curl]} ) (= scope= flags=0 words=[] bindings=[('curl', {[SQ ]})]) (Com {[LIT_CHARS command_exists]} {[LIT_CHARS wget]} ) (= scope= flags=0 words=[] bindings=[('curl', {[SQ ]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS command_exists]} {[LIT_CHARS busybox]} ) (Pipeline (Com {[LIT_CHARS busybox]} {[LIT_CHARS --list-modules]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[LIT_CHARS wget]} ) ) ) (= scope= flags=0 words=[] bindings=[('curl', {[SQ ]})]) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[SQ ]})]) (If (Com {[LIT_CHARS command_exists]} {[LIT_CHARS lsb_release]} ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[DQ [ComSub (Com {[LIT_CHARS lsb_release]} {[LIT_CHARS -si]})]]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub lsb_dist]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -r]} {[LIT_CHARS /etc/lsb-release]} {[LIT_DBRACKET_LIKE "]"]} ) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS .]} {[LIT_CHARS /etc/lsb-release]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub DISTRIB_ID]]}) )]]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub lsb_dist]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -r]} {[LIT_CHARS /etc/debian_version]} {[LIT_DBRACKET_LIKE "]"]} ) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[SQ ]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub lsb_dist]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -r]} {[LIT_CHARS /etc/fedora-release]} {[LIT_DBRACKET_LIKE "]"]} ) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[SQ ]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub lsb_dist]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -r]} {[LIT_CHARS /etc/os-release]} {[LIT_DBRACKET_LIKE "]"]} ) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS .]} {[LIT_CHARS /etc/os-release]}) (Com {[LIT_CHARS echo]} {[DQ [VarSub ID]]}) )]]})]) ) (= scope= flags=0 words=[] bindings=[('lsb_dist', {[DQ [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub lsb_dist]]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]]})]) (Case to_match={[DQ [VarSub lsb_dist]]}, pat_word_list=[[{[LIT_CHARS amzn]}, {[LIT_CHARS fedora]}], [{[LIT_CHARS ubuntu]}, {[LIT_CHARS debian]}, {[LIT_CHARS linuxmint]}], [{[LIT_CHARS gentoo]}]] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub lsb_dist]]} {[LIT_DBRACKET_LIKE "="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (ElseTrue) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS command_exists]} {[LIT_CHARS docker]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -e]} {[LIT_CHARS /var/run/docker.sock]} {[LIT_DBRACKET_LIKE "]"]} ) ) (AndOr OP_OR_IF (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (Com {[LIT_CHARS true]} ) ) ) (= scope= flags=0 words=[] bindings=[('your_user', {[LIT_CHARS your-user]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub user]]} {[LIT_NEQUAL "!="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('your_user', {[DQ [VarSub user]]})]) ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} {[VarSub your_user]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) ) (List (= scope= flags=1 words=[] bindings=[('DEBIAN_FRONTEND', {[LIT_CHARS noninteractive]})]) (= scope= flags=0 words=[] bindings=[('did_apt_get_update', {[SQ ]})]) (FunctionDef apt_get_update [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub did_apt_get_update]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (= scope= flags=0 words=[] bindings=[('did_apt_get_update', {[LIT_CHARS 1]})]) ) ) ) (If (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[LIT_CHARS aufs]} {[LIT_CHARS /proc/filesystems]} ) ) (Pipeline! (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (List (= scope= flags=0 words=[] bindings=[('kern_extras', {[DQ [LIT_CHARS linux-image-extra-][ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -r]})]]})]) (Com {[LIT_CHARS apt_get_update]} ) (AndOr OP_OR_IF (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ] [DQ [VarSub kern_extras]]} ) ) ) (Com {[LIT_CHARS true]} ) ) (If (AndOr OP_AND_IF (Pipeline! (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[LIT_CHARS aufs]} {[LIT_CHARS /proc/filesystems]} ) ) (Pipeline! (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (List (Com {[LIT_CHARS echo]} {[SQ ] [DQ [VarSub kern_extras]] [SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 10]} ) ) ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS cat]} {[LIT_CHARS /sys/module/apparmor/parameters/enabled]})]]} {[LIT_DBRACKET_LIKE "="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (If (List (Fork (Com {[LIT_CHARS command]} {[LIT_CHARS -v]} {[LIT_CHARS apparmor_parser]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS apt_get_update]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[LIT_CHARS /usr/lib/apt/methods/https]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS apt_get_update]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub curl]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS apt_get_update]} ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (= scope= flags=0 words=[] bindings=[('curl', {[SQ ]})]) ) ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [LIT_CHARS "https://get.docker.com/"]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [VarSub url]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[VarSub sh_c]} {[DQ [LIT_CHARS "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9"]]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [LIT_CHARS "https://test.docker.com/"]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [VarSub url]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[VarSub sh_c]} {[DQ [LIT_CHARS "apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 740B314AE3941731B942C66ADF4FD13717AAD7D6"]]} ) (ElseTrue) (Com {[VarSub sh_c]} {[DQ [VarSub curl][LIT_CHARS " "][VarSub url][LIT_CHARS "gpg | apt-key add -"]]} ) ) (Com {[VarSub sh_c]} {[DQ [LIT_CHARS "echo deb "][VarSub url][LIT_CHARS "ubuntu docker main > /etc/apt/sources.list.d/docker.list"]]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_CHARS command_exists]} {[LIT_CHARS docker]} ) (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -e]} {[LIT_CHARS /var/run/docker.sock]} {[LIT_DBRACKET_LIKE "]"]} ) ) (AndOr OP_OR_IF (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (Com {[LIT_CHARS true]} ) ) ) (= scope= flags=0 words=[] bindings=[('your_user', {[LIT_CHARS your-user]})]) (AndOr OP_AND_IF (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub user]]} {[LIT_NEQUAL "!="]} {[SQ ]} {[LIT_DBRACKET_LIKE "]"]} ) (= scope= flags=0 words=[] bindings=[('your_user', {[DQ [VarSub user]]})]) ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} {[VarSub your_user]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) ) (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub url]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS "https://test.docker.com/"]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Subshell (List (Com {[LIT_CHARS set]} {[LIT_CHARS -x]} ) (Com {[VarSub sh_c]} {[SQ ]} ) ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS cat]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "\n"] [LIT_CHARS " Either your platform is not easily detectable, is not supported by this\n"] [LIT_CHARS " installer script (yet - PRs welcome! [hack/install.sh]), or does not yet have\n"] [LIT_CHARS " a package for Docker. Please visit the following URL for more detailed\n"] [LIT_CHARS " installation instructions:\n"] [LIT_CHARS "\n"] [LIT_CHARS " https://docs.docker.com/en/latest/installation/\n"] [LIT_CHARS "\n"]} 0), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) )