(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]} ) (= scope= flags=0 words=[] bindings=[('MNTDIR', {[ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]})]})]) (FunctionDef cleanup [] (List (= scope= flags=0 words=[] bindings=[('RET', {[VarSub ?]})]) (Com {[LIT_CHARS set]} {[LIT_OTHER "+"] [LIT_CHARS e]} ) (Com {[LIT_CHARS /bin/umount]} {[VarSub MNTDIR]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS /bin/rmdir]} {[VarSub MNTDIR]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS /bin/rm]} {[LIT_CHARS block]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS exit]} {[VarSub RET]} ) ) ) (Com {[LIT_CHARS trap]} {[LIT_CHARS cleanup]} {[LIT_CHARS TERM]} {[LIT_CHARS EXIT]} ) (Com {[LIT_CHARS dd]} {[LIT_VAR_LIKE "if="] [LIT_CHARS /dev/zero] =} {[LIT_VAR_LIKE "of="] [LIT_CHARS block] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 1] =} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 1M] =} ) (Com {[LIT_CHARS mkfs.ext2]} {[LIT_CHARS block]} ) (Com {[LIT_CHARS mount]} {[LIT_CHARS -o]} {[LIT_CHARS loop]} {[LIT_CHARS block]} {[VarSub MNTDIR]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Hello from RBD"]]} < (FilenameRedirectNode filename={[VarSub MNTDIR] [LIT_CHARS /index.html]} "> 1), > ) (Com {[LIT_CHARS umount]} {[VarSub MNTDIR]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS rm]} {[LIT_CHARS block.tar.gz]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_OTHER ":"]} ) ) (Com {[LIT_CHARS tar]} {[LIT_CHARS cfz]} {[LIT_CHARS block.tar.gz]} {[LIT_CHARS block]} ) )