(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:signal) op:Equal rhs:{(DQ (-INT))} spids:[24])] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs:(LhsName name:user) op:Equal rhs:{(DQ )} spids:[32]) (assign_pair lhs:(LhsName name:tty) op:Equal rhs:{(DQ )} spids:[36]) (assign_pair lhs:(LhsName name:donothing) op:Equal rhs:{(0)} spids:[40]) ] spids: [32] ) (WhileUntil keyword: <KW_While while> cond: [(Sentence child:(C {(getopts)} {(DQ ('s:u:t:n'))} {(opt)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$opt'))} arms: [ (case_arm pat_list: [{(s)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:signal) op: Equal rhs: {(DQ (-) ($ VSub_Name '$OPTARG'))} spids: [79] ) ] spids: [79] ) terminator: <Op_Semi ';'> ) ] spids: [75 77 86 16777215] ) (case_arm pat_list: [{(u)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$tty'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Number '$0') (': error: -u and -t are mutually exclusive.') ) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 109] ) ] spids: [16777215 132] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:user) op: Equal rhs: {($ VSub_Name '$OPTARG')} spids: [135] ) ] spids: [135] ) terminator: <Op_Semi ';'> ) ] spids: [89 91 139 16777215] ) (case_arm pat_list: [{(t)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$user'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Number '$0') (': error: -u and -t are mutually exclusive.') ) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] spids: [16777215 162] ) ] spids: [16777215 181] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tty) op: Equal rhs: {($ VSub_Number '$2')} spids: [184] ) ] spids: [184] ) terminator: <Op_Semi ';'> ) ] spids: [142 144 188 16777215] ) (case_arm pat_list: [{(n)}] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:donothing) op: Equal rhs: {(1)} spids: [195] ) ] spids: [195] ) terminator: <Op_Semi ';'> ) ] spids: [191 193 199 16777215] ) (case_arm pat_list: [{(Lit_Other '?')}] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('Usage: ') ($ VSub_Number '$0') (' [-s signal] [-u user|-t tty] [-n] pattern') ) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [202 204 16777215 223] ) ] spids: [58 64 223] ) ] spids: [55 225] ) ) (C {(shift)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$OPTIND')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [233 242] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} { (DQ ('Usage: ') ($ VSub_Number '$0') (' [-s signal] [-u user|-t tty] [-n] pattern')) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 262] ) ] spids: [16777215 281] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$tty'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pids) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(cu)} {(-t)} {($ VSub_Name '$tty')}) (C {(awk)} { (DQ ('/ ') ($ VSub_Number '$1') (Lit_Other '$') ('/ { print ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('2 }') ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [311 332] ) } spids: [310] ) ] spids: [310] ) ] spids: [16777215 307] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ ($ VSub_Name '$user'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pids) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(cu)} {(-U)} {($ VSub_Name '$user')}) (C {(awk)} { (DQ ('/ ') ($ VSub_Number '$1') (Lit_Other '$') ('/ { print ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('2 }') ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [354 375] ) } spids: [353] ) ] spids: [353] ) ] spids: [334 350] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pids) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(cu)} {(-U)} { (BracedVarSub token: <VSub_Name USER> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(LOGNAME)} ) spids: [388 392] ) } ) (C {(awk)} { (DQ ('/ ') ($ VSub_Number '$1') (Lit_Other '$') ('/ { print ') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('2 }') ) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [381 406] ) } spids: [380] ) ] spids: [380] ) ] spids: [377 408] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$pids'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Number '$0') (': no processes match pattern ') ($ VSub_Number '$1')) } ] redirects: [(Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})] ) terminator: <Op_Semi ';'> ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 428] ) ] spids: [16777215 447] ) (ForEach iter_name: pid iter_words: [{($ VSub_Name '$pids')}] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$donothing')} {(-eq)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('kill ') ($ VSub_Name '$signal') (' ') ($ VSub_Name '$pid'))}) ] spids: [16777215 487] ) ] else_action: [(C {(kill)} {($ VSub_Name '$signal')} {($ VSub_Name '$pid')})] spids: [503 513] ) ] spids: [458 515] ) spids: [455 16777215] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )