(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_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 '\\"'> ch:'"') <TERM> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' (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 '\\"'> ch:'"') <'kill -l'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' 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 '\\$'> ch:'$') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <' (which is '> ($ Id.VSub_Dollar '$') <' right now).\n'> <'\n'> <'Also similar is the '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <kill> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' command.'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_signal> name: _Dbg_do_signal body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'sig='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<signum>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName sig)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [{<_Dbg_errmsg>} {(DQ <'Missing signal name or signal number.'>)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [122 134] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _seteglob))}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName sig)} right: {($ Id.VSub_DollarName int_pat)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _resteglob))}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'signame='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'signame='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'signame='> name:signame) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_signum2name> more_env: [] words: [{<_Dbg_signum2name>} {($ Id.VSub_DollarName sig)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} {(DQ <'Bad signal number: '> ($ Id.VSub_DollarName sig))} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [191 206] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'signum='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'signum='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'signum='> name:signum) op: assign_op.Equal rhs: {<sig>} ) ] redirects: [] ) ] spids: [160 173] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _resteglob))}] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<signum>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'signum='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'signum='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'signum='> name:signum) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_name2signum> more_env: [] words: [{<_Dbg_name2signum>} {($ Id.VSub_DollarName sig)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_NEqual left: {($ Id.VSub_QMark '?')} right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'Bad signal name: '> ($ Id.VSub_DollarName sig))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [253 268] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <kill> more_env: [] words: [{<kill>} {<-> ($ Id.VSub_DollarName signum)} {($ Id.VSub_Dollar '$')}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )