(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:keep) op:Equal rhs:{(4)} spids:[13])] spids: [13] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:totalmsgs) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(SQ <x>)}) (C {(mail)}) (C {(sed)} {(-n)} {(SQ <2p>)}) (C {(awk)} {(SQ <'{print $2}'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [22 50] ) ) } spids: [20] ) ] spids: [20] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$totalmsgs')} {(-lt)} {($ VSub_Name '$keep')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [16777215 68] ) ] spids: [16777215 78] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:topmsg) op: Equal rhs: { (DQ (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$totalmsgs')}) right: (ArithWord w:{($ VSub_Name '$keep')}) ) spids: [83 92] ) ) } spids: [81] ) ] spids: [81] ) (SimpleCommand words: [{(mail)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[98]) (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ (d1-) ($ VSub_Name '$topmsg') ('\n') ('q\n'))} do_expansion: True here_end: EOF was_filled: T spids: [102] ) ] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )