(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:logfile) op: Equal rhs: {(DQ (/Users/taylor/.netstatlog))} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:temp) op: Equal rhs: {(DQ (/tmp/getstats.) ($ VSub_Dollar '$$') (.tmp))} ) ] ) (C {(trap)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(which)} {(rm)})]) left_token: <Left_Backtick '`'> ) (' -f ') ($ VSub_DollarName '$temp') ) } {(0)} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {($ VSub_DollarName '$logfile')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(touch)} {($ VSub_DollarName '$logfile')})] ) ] ) (command.Subshell command_list: (command.CommandList children: [ (command.SimpleCommand words: [{(netstat)} {(-s)} {(-p)} {(tcp)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {($ VSub_DollarName '$temp')} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:sent) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'packets sent'>)} {($ VSub_DollarName '$temp')}) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)}) ] negated: F ) (command.Pipeline children: [(C {(SQ <'s/[^[:digit:]]//g'>)}) (C {(head)} {(-1)})] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:resent) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <retransmitted>)} {($ VSub_DollarName '$temp')}) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:received) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'packets received$'>)} {($ VSub_DollarName '$temp')} ) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:dupacks) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'duplicate acks'>)} {($ VSub_DollarName '$temp')}) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:outoforder) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'out-of-order packets'>)} {($ VSub_DollarName '$temp')} ) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:connectreq) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'connection requests'>)} {($ VSub_DollarName '$temp')} ) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:connectacc) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'connection accepts'>)} {($ VSub_DollarName '$temp')} ) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:retmout) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(grep)} {(SQ <'retransmit timeouts'>)} {($ VSub_DollarName '$temp')} ) (C {(cut)} {(-d) (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\ '> ) } {(-f1)} ) (C {(sed)} {(SQ <'s/[^[:digit:]]//g'>)}) ] negated: F ) ] ) left_token: <Left_DollarParen '$('> ) ) } ) ] ) (C {(/bin/echo)} {(-n)} { (DQ ('time=') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (s)})] ) left_token: <Left_DollarParen '$('> ) (';') ) } ) (C {(/bin/echo)} {(-n)} { (DQ ('snt=') ($ VSub_DollarName '$sent') (';re=') ($ VSub_DollarName '$resent') (';rec=') ($ VSub_DollarName '$received') (';dup=') ($ VSub_DollarName '$dupacks') (';') ) } ) (C {(/bin/echo)} {(-n)} { (DQ ('oo=') ($ VSub_DollarName '$outoforder') (';creq=') ($ VSub_DollarName '$connectreq') (';cacc=') ($ VSub_DollarName '$connectacc') (';') ) } ) (C {(echo)} {(DQ ('reto=') ($ VSub_DollarName '$retmout'))}) ] ) redirects: [ (redir.Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {($ VSub_DollarName '$logfile')} ) ] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )