(command.CommandList children: [ (C {<_Dbg_help_add>} {<tty>} { (SQ <'tty\n'> <'\n'> <'Set the output device for debugger output. Use "&1" if you want debugger\n'> <'output to go to STDOUT.\n'> ) } ) (command.ShFunction name: _Dbg_do_tty body: (BraceGroup children: [ (C {<typeset>} {<-i>} {<Id.Lit_VarLike 'rc='> <0>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Less left: {($ Id.VSub_Pound '$#')} right: {<Id.Lit_Digits 1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<_Dbg_errmsg>} {(DQ <'Argument required (terminal name for running target process).'>)} ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] spids: [89 104] ) ] ) (C {<typeset>} {<Id.Lit_VarLike 'tty='> ($ Id.VSub_Number '$1')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<_Dbg_check_tty>} {($ Id.VSub_DollarName '$tty')}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_tty) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$tty')} spids: [140] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_Dbg_prompt_output) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$_Dbg_tty')} spids: [144] ) ] ) (C {<_Dbg_msg>} {(DQ <'Debugger output set to go to '> ($ Id.VSub_DollarName '$_Dbg_tty'))} ) ] spids: [128 136] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) ] )