(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SRC_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_CommandSub "$("> spids: [5 7] ) } spids: [4] ) ] spids: [4] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} {(-d)} {(DQ ($ VSub_Name "$SRC_DIR") (/work/overlay/mll_utils))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ("The directory ") ($ VSub_Name "$SRC_DIR") ("/work/overlay/mll_utils does not exist. Cannot continue.") ) } ) (C {(exit)} {(1)}) ] spids: [-1 27] ) ] spids: [-1 43] ) (C {(cd)} {(work/overlay/mll_utils)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("#!/bin/sh\n") ("\n") ("PRINT_HELP=false\n") ("\n") ("if [ ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" -o ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (-h) (Right_DoubleQuote "\"") (" -o ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (1) (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (--help) (Right_DoubleQuote "\"") (" ] ; then\n") (" PRINT_HELP=true\n") ("fi\n") ("\n") ("# Put more business logic here (if needed).\n") ("\n") ("if [ ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (PRINT_HELP) (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (true) (Right_DoubleQuote "\"") (" ] ; then\n") (" cat << DEOF\n") ("\n") (" This utility wipes disk partitions or entire disks in secure way by\n") (" overwriting all sectors with random data. Use the '-h' or '--help' option\n") (" to print again this information. Requires root permissions.\n") ("\n") (" Usage: mll-disk-erase DEVICE [loops]\n") ("\n") ( " DEVICE The device which will be wiped. Specify only the name, e.g. 'sda'.\n" ) (" The utility will automatically convert this to '/dev/sda' and will\n") (" exit with warning message if the actual device does not exist.\n") ("\n") (" loops How many times to wipe the specified partition or disk. The default\n") ( " value is 1. Use higher value for multiple wipes in order to ensure\n" ) (" that no one can recover your data.\n") ("\n") (" mll-disk-erase sdb 8\n") ("\n") (" The above example wipes '/dev/sdb' 8 times in row.\n") ("\n") ("DEOF\n") (" \n") (" exit 0\n") ("fi\n") ("\n") ("if [ ! ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("(id -u)") (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (0) (Right_DoubleQuote "\"") (" ] ; then\n") (" echo ") (Right_DoubleQuote "\"") ("You need root permissions. Use '-h' or '--help' for more information.") (Right_DoubleQuote "\"") ("\n") (" exit 1\n") ("fi\n") ("\n") ("if [ ! -e /dev/") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("1 ] ; then\n") (" echo ") (Right_DoubleQuote "\"") ("Device '/dev/") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("1' does not exist. Use '-h' or '--help' for more information.") (Right_DoubleQuote "\"") ("\n") (" exit 1\n") ("fi\n") ("\n") ("NUM_LOOPS=1\n") ("\n") ("if [ ! ") (Right_DoubleQuote "\"") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (2) (Right_DoubleQuote "\"") (" = ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" ] ; then\n") (" NUM_LOOPS=") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("2\n") ("fi\n") ("\n") ("for n in ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("(seq ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("NUM_LOOPS) ; do\n") (" echo ") (Right_DoubleQuote "\"") (" Windows update ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("n of ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("NUM_LOOPS is being installed. Please wait...") (Right_DoubleQuote "\"") ("\n") (" dd if=/dev/urandom of=/dev/") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("1 bs=1024b conv=notrunc > /dev/null 2>") (EscapedLiteralPart token:<Lit_EscapedChar "\\&">) ("1\n") ("done \n") ("\n") ("echo ") (Right_DoubleQuote "\"") (" All updates have been installed.") (Right_DoubleQuote "\"") ("\n") ("\n") ) } do_expansion: True here_end: CEOF was_filled: True spids: [63] ) (Redir op_id:Redir_Great fd:-1 arg_word:{(sbin/mll-disk-erase)} spids:[67]) ] ) (C {(chmod)} {(Lit_Other "+") (rx)} {(sbin/mll-disk-erase)}) (C {(echo)} {(DQ ("Utility script 'mll-disk-erase' has been generated."))}) (C {(cd)} {($ VSub_Name "$SRC_DIR")}) ] )