(command.CommandList children: [ (C {(set)} {(-u) ($ VSub_DollarName '$DX')}) (command.Case to_match: {($ VSub_Pound '$#')} arms: [ (case_arm pat_list: [{(2)}] action: [ (command.Sentence child: (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:OLDTAB spids:[115]) op: Equal rhs: {($ VSub_Number '$1')} spids: [115] ) ] spids: [115] ) terminator: <Op_Semi ';'> ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NEWTAB spids:[120]) op: Equal rhs: {($ VSub_Number '$2')} spids: [120] ) ] spids: [120] ) ] spids: [111 113 123 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} { (DQ ('Usage: ') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(basename)} {($ VSub_Number '$0')})] ) left_token: <Left_Backtick '`'> spids: [134 138] ) (' <Input> <Output>') ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [126 128 16777215 147] ) ] spids: [105 109 147] ) (command.If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-r)} {($ VSub_DollarName '$OLDTAB')} {(Lit_Other ']')}) ] action: [ (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(basename)} {($ VSub_Number '$0')})] ) left_token: <Left_Backtick '`'> spids: [168 172] ) (': ') ($ VSub_DollarName '$OLDTAB') (' does not exist or is unreadable.') ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 162] ) ] spids: [16777215 183] ) (command.If arms: [ (if_arm cond: [ (command.SimpleCommand words: [{(touch)} {($ VSub_DollarName '$NEWTAB')}] redirects: [(redir.Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})] ) ] action: [(C {(Lit_Other ':')})] spids: [16777215 196] ) ] else_action: [ (C {(echo)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(basename)} {($ VSub_Number '$0')})] ) left_token: <Left_Backtick '`'> spids: [207 211] ) (': cannot write to ') ($ VSub_DollarName '$NEWTAB') (.) ) } ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [201 222] ) (command.SimpleCommand words: [{(cat)}] redirects: [ (redir.HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(END_OF_HEADER)} here_end_span_id: 282 stdin_parts: [ ('# /etc/bootptab: database for bootp server (/etc/bootpd)\n') ('# This file was generated automagically\n') ('\n') ("# Blank lines and lines beginning with '#' are ignored.\n") ('#\n') ('# Legend:\t(see bootptab.5)\n') ('#\tfirst field -- hostname (not indented)\n') ('#\tbf -- bootfile\n') ('#\tbs -- bootfile size in 512-octet blocks\n') ('#\tcs -- cookie servers\n') ('#\tdf -- dump file name\n') ('#\tdn -- domain name\n') ('#\tds -- domain name servers\n') ('#\tef -- extension file\n') ('#\tgw -- gateways\n') ('#\tha -- hardware address\n') ('#\thd -- home directory for bootfiles\n') ('#\thn -- host name set for client\n') ('#\tht -- hardware type\n') ('#\tim -- impress servers\n') ('#\tip -- host IP address\n') ('#\tlg -- log servers\n') ('#\tlp -- LPR servers\n') ('#\tns -- IEN-116 name servers\n') ('#\tra -- reply address\n') ('#\trl -- resource location protocol servers\n') ('#\trp -- root path\n') ('#\tsa -- boot server address\n') ('#\tsm -- subnet mask\n') ('#\tsw -- swap server\n') ('#\ttc -- template host (points to similar host entry)\n') ('#\ttd -- TFTP directory\n') ('#\tto -- time offset (seconds)\n') ('#\tts -- time servers\n') ('#\tvm -- vendor magic number\n') ('#\tTn -- generic option tag n\n') ('#\n') ("# Be careful about including backslashes where they're needed. Weird (bad)\n") ('# things can happen when a backslash is omitted where one is intended.\n') ('# Also, note that generic option data must be either a string or a\n') ('# sequence of bytes where each byte is a two-digit hex value.\n') ('\n') ('# First, we define a global entry which specifies the stuff every host uses.\n') ('# (Host name lookups are relative to the domain: your.domain.name)\n') ('\n') ] ) (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$NEWTAB')} ) ] ) (command.Pipeline children: [ (command.SimpleCommand words: [{(sed)} {(-e)} {(SQ <'s/[:-]//g'>)}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {($ VSub_DollarName '$OLDTAB')} ) ] ) (command.SimpleCommand words: [ {(nawk)} { (SQ <'BEGIN\t{ PART = 0 ; FIELD=0 ; BOOTPATH="unset" ; BOOTFILE="unset" }\n'> <'\t/^%%/\t{\n'> <'\t\t\t\tPART = 1\n'> < '\t\t\t\tprintf ".default:\\\\\\n\\t:ht=ether:\\\\\\n\\t:hn:\\\\\\n\\t:dn=your.domain.name:\\\\\\n\\t:ds=your,dns,servers:\\\\\\n\\t:sm=255.255.0.0:\\\\\\n\\t:hd=%s:\\\\\\n\\t:rp=%s:\\\\\\n\\t:td=%s:\\\\\\n\\t:bf=%s:\\\\\\n\\t:to=auto:\\n\\n", BOOTPATH, BOOTPATH, BOOTPATH, BOOTFILE\n' > <'\t\t\t\tnext\n'> <'\t\t\t}\n'> <'\t/^$/\t{ next }\n'> <'\t/^#/\t{ next }\n'> <'\t\t{\n'> <'\t\t\tif ( PART == 0 && FIELD < 2 )\n'> <'\t\t \t{\n'> <'\t\t\t\tif ( FIELD == 0 ) BOOTPATH=$1\n'> <'\t\t\t\tif ( FIELD == 1 ) BOOTFILE=$1\n'> <'\t\t\t\tFIELD++\n'> <'\t\t\t}\n'> <'\t\t}\n'> <'\t\t{\n'> <'\t\t\tif ( PART == 1 )\n'> <'\t\t\t{\n'> <'\t\t\t\tHOST=$1\n'> <'\t\t\t\tHA=$3\n'> <'\t\t\t\tIP=$4\n'> <'\t\t\t\tBF=$5\n'> < '\t\t\t\tprintf "%s:\\\\\\n\\t:tc=.default:\\\\\\n\\t:ha=0x%s:\\\\\\n\\t:ip=%s:\\\\\\n\\t:bf=%s:\\n", HOST, HA, IP, BF\n' > <'\t\t\t}\n'> <'\t\t}'> ) } ] redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$NEWTAB')} ) ] ) ] negated: F ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )