(command.CommandList children: [ (C {<_Dbg_help_add>} {<signal>} { (DQ <'signal SIGNAL\n'> <'\n'> <'Send a signal to the debugged program.\n'> <'\n'> <'SIGNAL can be a name like '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <TERM> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' (for SIGTERM) or a positive number like \n'> <'15 (which in '> <Id.Lit_BadBackslash '\\'> <'*nix systems is the equivalent number. On '> <Id.Lit_BadBackslash '\\'> <'*nix systems the\n'> <'command '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'kill -l'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' sometimes will give a list of signal names and numbers.\n'> <'\n'> <'The signal is sent to process '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <' (which is '> ($ Id.VSub_Dollar '$$') <' right now).\n'> <'\n'> <'Also similar is the '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <kill> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <' command.'> ) } ) (command.ShFunction name: _Dbg_do_signal body: (BraceGroup children: [ (C {<typeset>} {<Id.Lit_VarLike 'sig='> ($ Id.VSub_Number '$1')}) (C {<typeset>} {<-i>} {<signum>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName '$sig')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} {(DQ <'Missing signal name or signal number.'>)}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [122 134] ) ] ) (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_seteglob'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$sig')} right: {($ Id.VSub_DollarName '$int_pat')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_resteglob'))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:signame) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_signum2name>} {($ Id.VSub_DollarName '$sig')}) ) } spids: [183] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '$?')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_msg>} {(DQ <'Bad signal number: '> ($ Id.VSub_DollarName '$sig'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [191 206] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:signum) op: assign_op.Equal rhs: {<sig>} spids: [225] ) ] ) ] spids: [160 173] ) ] else_action: [ (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_resteglob'))}) (command.Sentence child: (C {<typeset>} {<signum>}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:signum) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<_Dbg_name2signum>} {($ Id.VSub_DollarName '$sig')}) ) } spids: [245] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '$?')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_msg>} {(DQ <'Bad signal name: '> ($ Id.VSub_DollarName '$sig'))}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [253 268] ) ] ) ] ) (C {<kill>} {<-> ($ Id.VSub_DollarName '$signum')} {($ Id.VSub_Dollar '$$')}) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )