(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=0 words=[] bindings=[('ETCD_VERSION', {[VarSub ETCD_VERSION test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS v2.2.1]}]})]) (= scope= flags=0 words=[] bindings=[('full_name', {[LIT_CHARS etcd-] [VarSub ETCD_VERSION] [LIT_CHARS -linux-amd64]})]) (= scope= flags=0 words=[] bindings=[('archive_url', {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //github.com/coreos/etcd/releases/download/] [VarSub ETCD_VERSION] [LIT_CHARS /] [VarSub full_name] [LIT_CHARS .tar.gz]})]) (= scope= flags=0 words=[] bindings=[('download_dir', {[LIT_CHARS /tmp/etcd-] [VarSub ETCD_VERSION]})]) (Com {[LIT_CHARS mkdir]} {[VarSub download_dir]} ) (FunctionDef cleanup [] (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub download_dir]} ) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS cleanup]} {[LIT_CHARS EXIT]} ) (Com {[LIT_CHARS cd]} {[VarSub download_dir]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Downloading etcd ("][VarSub archive_url][LIT_CHARS ")..."]]} ) (Pipeline (Com {[LIT_CHARS curl]} {[LIT_CHARS -s]} {[LIT_CHARS -L]} {[VarSub archive_url]} ) (Com {[LIT_CHARS tar]} {[LIT_CHARS xvz]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Installing etcd (/usr/local/bin/etcd)..."]]} ) (Com {[LIT_CHARS mv]} {[LIT_CHARS ./] [VarSub full_name] [LIT_CHARS /etcd] [LIT_OTHER "*"]} {[LIT_CHARS /usr/local/bin/]} ) )