(CommandList children: [ (C {(_Dbg_help_add_sub)} {(show)} {(tty)} {(DQ ("Show tty used for debugger output"))} {(1)}) (FuncDef name: _Dbg_do_show_tty body: (BraceGroup children: [ (C {(typeset)} {(label)}) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Number "$1")}) ) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:label) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(builtin)} {(printf)} {(SQ <"%-12s: ">)} {(SQ <"show tty">)}) ] ) left_token: <Left_CommandSub "$("> spids: [95 107] ) } spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:label) op:Equal rhs:{(SQ )} spids:[111])] spids: [111] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(_Dbg_msg_nocr)} {(DQ (${ VSub_Name label) ("Debugger output goes to "))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name "$_Dbg_tty")}) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(_Dbg_msg)} { (CommandSubPart command_list: (CommandList children:[(C {(tty)})]) left_token: <Left_CommandSub "$("> spids: [145 147] ) } ) ] spids: [-1 140] ) ] else_action: [(C {(_Dbg_msg)} {($ VSub_Name "$_Dbg_tty")})] spids: [150 158] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [76] ) spids: [72 75] ) ] )