(command.CommandList children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_inside_skip='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-A>} {<_Dbg_cmdloop_hooks>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_cmdloop_hooks['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_cmdloop_hooks['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_cmdloop_hooks['> name: _Dbg_cmdloop_hooks index: {(SQ <display>)} ) op: assign_op.Equal rhs: {(SQ <_Dbg_eval_all_display>)} ) ] redirects: [] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<_Dbg_read_fn>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_read_fn='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_read_fn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_read_fn='> name:_Dbg_read_fn) op: assign_op.Equal rhs: {(SQ <read>)} ) ] redirects: [] ) ] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_space='> (SQ <' '>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_edit='> (SQ <-e>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_edit_style='> (SQ <emacs>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {($ Id.VSub_DollarName _Dbg_edit_style)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike '_Dbg_prompt_str='> (SQ <'$_Dbg_debugger_name${_Dbg_less}${#_Dbg_history[@]}${_Dbg_greater}$_Dbg_space'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_last_x_args='> (SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_last_cmd='> (SQ )}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<_Dbg_fdi>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <exec> more_env: [] words: [{<exec>}] redirects: [ (Redir op: <Id.Redir_LessAnd '{_Dbg_fdi}<&'> loc: (redir_loc.VarName name:_Dbg_fdi) arg: {<0>} ) ] do_fork: T ) ] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_fd_last='> <0>}] redirects: [] do_fork: T ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_cmdfile>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_cmdfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_cmdfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_cmdfile='> name:_Dbg_cmdfile) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{(SQ )}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] ) (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<_Dbg_fd>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_fd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_fd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_fd='> name:_Dbg_fd) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{($ Id.VSub_DollarName _Dbg_fdi)}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<_Dbg_prompt_output>}] redirects: [] do_fork: T ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <_Dbg_process_commands> name: _Dbg_process_commands body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_inside_skip='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_inside_skip='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_inside_skip='> name: _Dbg_inside_skip ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_step_ignore='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_step_ignore='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_step_ignore='> name: _Dbg_step_ignore ) op: assign_op.Equal rhs: {<-1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_continue_rc='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_continue_rc='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_continue_rc='> name: _Dbg_continue_rc ) op: assign_op.Equal rhs: {<-1>} ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} {(DQ <'_Dbg_step_ignore='> ($ Id.VSub_DollarName _Dbg_step_ignore))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<key>}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [key] iterable: (for_iter.Words words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_cmdloop_hooks> var_name: _Dbg_cmdloop_hooks prefix_op: <Id.VSub_Bang '!'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_cmdloop_hooks> var_name: _Dbg_cmdloop_hooks bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName key)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_Great left: ($ Id.Lit_ArithVarLike _Dbg_fd_last) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_greater='> (SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_less='> (SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<result>}] 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.Simple blame_tok: <_Dbg_copies> more_env: [] words: [ {<_Dbg_copies>} {(SQ <'>'>)} {($ Id.VSub_DollarName _Dbg_DEBUGGER_LEVEL)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_greater='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_greater='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_greater='> name: _Dbg_greater ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName result)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_less='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_less='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_less='> name: _Dbg_less ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name result> var_name: result suffix_op: (suffix_op.PatSub pat: {<Id.Lit_Other '>'>} replace: {<Id.Lit_Other '<'>} replace_mode: Id.Lit_Slash slash_tok: <Id.VOp2_Slash _> ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) ] spids: [446 458] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <_Dbg_copies> more_env: [] words: [ {<_Dbg_copies>} {(SQ <')'>)} {($ Id.VSub_DollarName BASH_SUBSHELL)} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_greater='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_greater='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_greater='> name: _Dbg_greater ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name result) (${ Id.VSub_Name _Dbg_greater))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_less='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_less='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_less='> name: _Dbg_less ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name _Dbg_less) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name result> var_name: result suffix_op: (suffix_op.PatSub pat: {<')'>} replace: {<'('>} replace_mode: Id.Lit_Slash slash_tok: <Id.VOp2_Slash _> ) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) ] spids: [479 491] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_prompt_output='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_prompt_output='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_prompt_output='> name: _Dbg_prompt_output ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_tty> var_name: _Dbg_tty suffix_op: (suffix_op.Unary op: <Id.VTest_ColonHyphen _> arg_word: {<Id.Lit_Slash '/'> <dev> <Id.Lit_Slash '/'> <null>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'local _Dbg_prompt='> ($ Id.VSub_DollarName _Dbg_prompt_str))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_preloop> more_env: [] words: [{<_Dbg_preloop>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<_Dbg_cmd>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<args>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<rc>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-o>} {<history>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_input_desc='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_input_desc='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_input_desc='> name: _Dbg_input_desc ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_fd> var_name: _Dbg_fd bracket_op: (bracket_op.ArrayIndex expr: ($ Id.Lit_ArithVarLike _Dbg_fd_last) ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (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 _Dbg_tty)} right: {(SQ <'&1'>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<-n>} {(DQ ($ Id.VSub_DollarName _Dbg_prompt))}] 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.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <read> more_env: [] words: [{<read>} {<_Dbg_cmd>} {<args>}] redirects: [ (Redir op: <Id.Redir_LessAnd '<&'> loc: (redir_loc.Fd fd:0) arg: { ($ Id.VSub_DollarName _Dbg_input_desc ) } ) (Redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [668 685] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [640 656] ) ] else_kw: <Id.KW_Else else> else_action: [ (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: ($ Id.Lit_ArithVarLike _Dbg_set_read_completion) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_read_fn='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_read_fn='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_read_fn='> name: _Dbg_read_fn ) op: assign_op.Equal rhs: {(SQ <readc>)} ) ] redirects: [] ) ] spids: [697 706] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_read_fn='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_read_fn='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_read_fn='> name: _Dbg_read_fn ) op: assign_op.Equal rhs: {(SQ <read>)} ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$_Dbg_read_fn'> more_env: [] words: [ {($ Id.VSub_DollarName _Dbg_read_fn)} {($ Id.VSub_DollarName _Dbg_edit)} {<-p>} {(DQ ($ Id.VSub_DollarName _Dbg_prompt))} {<_Dbg_cmd>} {<args>} ] redirects: [ (Redir op: <Id.Redir_LessAnd '<&'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName _Dbg_input_desc)} ) (Redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: { ($ Id.VSub_DollarName _Dbg_prompt_output ) } ) ] do_fork: T ) ] ops: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<Id.Lit_Other '+'> <o>} {<history>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Break break> ) ] spids: [727 755] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName _Dbg_cmd)} right: {(SQ <' '>)} ) right: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName args)} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<ary>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {(SQ <' '>)} ) (AssignPair left: <Id.Lit_VarLike 'ary='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'ary='> name: ary ) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{($ Id.VSub_DollarName _Dbg_cmd)}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_cmd='> name: _Dbg_cmd ) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ary> var_name: ary bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 0>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <unset> more_env: [] words: [ {<unset>} {<Id.Lit_ArrayLhsOpen 'ary['> <0> <Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'args='> name: args ) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name ary> var_name: ary bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) ] spids: [784 806] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<Id.Lit_Other '+'> <o>} {<history>}] 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.DParen left: <Id.Op_DLeftParen _> child: ($ Id.Lit_ArithVarLike _Dbg_brkpt_commands_defining) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _Dbg_cmd)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <silent> pattern: (pat.Words words:[{<silent>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands_silent['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands_silent[' > lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands_silent[' > name: _Dbg_brkpt_commands_silent index: { ($ Id.VSub_DollarName _Dbg_brkpt_commands_current ) } ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <end> pattern: (pat.Words words:[{<end>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_brkpt_commands_defining='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_brkpt_commands_defining='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_brkpt_commands_defining=' > name: _Dbg_brkpt_commands_defining ) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName _Dbg_prompt_str) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_brkpt_commands['> name: _Dbg_brkpt_commands index: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_brkpt_commands> var_name: _Dbg_brkpt_commands prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id: Id.Lit_At ) right: <Id.Right_DollarBrace '}'> ) } ) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName _Dbg_cmd) <' '> ($ Id.VSub_DollarName args) ) } ) ] redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: (arith_expr.Binary op_id: Id.Arith_LBracket left: ($ Id.Lit_ArithVarLike _Dbg_brkpt_commands_end ) right: { ($ Id.VSub_DollarName _Dbg_brkpt_commands_current ) } ) ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} ) ] redirects: [] ) ] spids: [867 878] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_onecmd> more_env: [] words: [ {<_Dbg_onecmd>} {(DQ ($ Id.VSub_DollarName _Dbg_cmd))} {(DQ ($ Id.VSub_DollarName args))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_postcmd> more_env: [] words: [{<_Dbg_postcmd>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: ($ Id.Lit_ArithVarLike _Dbg_continue_rc) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_DollarName _Dbg_continue_rc)} ) ] ops: [<Id.Op_DAmp _>] ) (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: ($ Id.Lit_ArithVarLike _Dbg_brkpt_commands_defining) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_prompt='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_prompt='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_prompt='> name: _Dbg_prompt ) op: assign_op.Equal rhs: {(SQ <'>'>)} ) ] redirects: [] ) ] spids: [1056 1067] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName _Dbg_prompt_str))} ] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <unset> more_env: [] words: [ {<unset>} {<Id.Lit_ArrayLhsOpen '_Dbg_fd['> <_Dbg_fd_last--> <Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_quit> more_env: [] words: [{<_Dbg_do_quit>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_annotation> name: _Dbg_annotation body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'label='> (DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_print> more_env: [] words: [{<_Dbg_do_print>} {(DQ <'\x1a\x1a'> ($ Id.VSub_DollarName label))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <Id.VSub_Star '$*'> more_env: [] words: [{($ Id.VSub_Star '*')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_print> more_env: [] words: [{<_Dbg_do_print>} {(SQ <'\x1a\x1a'>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_onecmd> name: _Dbg_onecmd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'full_cmd='> ($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_orig_cmd='> (DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<expanded_alias>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <_Dbg_alias_expand> more_env: [] words: [{<_Dbg_alias_expand>} {(DQ ($ Id.VSub_DollarName _Dbg_orig_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike '_Dbg_cmd='> (DQ ($ Id.VSub_DollarName expanded_alias))} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike '_Dbg_args='> (DQ ($ Id.VSub_At '@'))}] 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 _Dbg_cmd)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_cmd='> name:_Dbg_cmd) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_last_next_step_cmd)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_args='> name:_Dbg_args) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_last_next_step_args)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'full_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'full_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'full_cmd='> name:full_cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName _Dbg_cmd) <' '> ($ Id.VSub_DollarName _Dbg_args) ) } ) ] redirects: [] ) ] spids: [1237 1248] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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 _Dbg_set_trace_commands)} right: {(SQ <on>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'+'> ($ Id.VSub_DollarName full_cmd))}] redirects: [] do_fork: T ) ] spids: [1275 1291] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'dq_cmd='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_esc_dq> more_env: [] words: [{<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName _Dbg_cmd))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'dq_args='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_esc_dq> more_env: [] words: [{<_Dbg_esc_dq>} {(DQ ($ Id.VSub_DollarName _Dbg_args))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} { (DQ <'_Dbg_history['> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_history> var_name: _Dbg_history prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) <']='> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName dq_cmd) <' '> ($ Id.VSub_DollarName dq_args) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_ArrayLhsOpen '_Dbg_history['> pairs: [ (AssignPair left: <Id.Lit_ArrayLhsOpen '_Dbg_history['> lhs: (sh_lhs_expr.IndexedName left: <Id.Lit_ArrayLhsOpen '_Dbg_history['> name: _Dbg_history index: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_history> var_name: _Dbg_history prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName _Dbg_cmd) <' '> ($ Id.VSub_DollarName _Dbg_args))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_hi='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_hi='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_hi='> name:_Dbg_hi) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_history> var_name: _Dbg_history prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <history> more_env: [] words: [{<history>} {<-s>} {<-->} {(DQ ($ Id.VSub_DollarName full_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike '_Dbg_redo='> <1>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: ($ Id.Lit_ArithVarLike _Dbg_redo) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_redo='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_redo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_redo='> name:_Dbg_redo) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_z child: {($ Id.VSub_DollarName _Dbg_cmd)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike '_Dbg_cmd='> name:_Dbg_cmd) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_last_cmd)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (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_n child: {($ Id.VSub_DollarName _Dbg_cmd)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'found='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<found_cmd>}] 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_n child: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_debugger_commands> var_name: _Dbg_debugger_commands bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName _Dbg_cmd)} ) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'found='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'found='> name: found ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'found_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'found_cmd='> name: found_cmd ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_cmd)} ) ] redirects: [] ) ] spids: [1479 1496] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'count='> <0>}] redirects: [] do_fork: T ) (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<list>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ShAssignment left: <Id.Lit_VarLike 'list='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'list='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'list='> name:list) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_debugger_commands> var_name: _Dbg_debugger_commands prefix_op: <Id.VSub_Bang '!'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [try] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName list)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (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_EqualTilde left: {($ Id.VSub_DollarName try)} right: {<Id.Lit_Other '^'> ($ Id.VSub_DollarName _Dbg_cmd) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'found_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'found_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'found_cmd='> name: found_cmd ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName try)} ) ] redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.UnaryAssign op_id: Id.Node_PostDPlus child: ($ Id.Lit_ArithVarLike count) ) right: <Id.Op_DRightParen _> redirects: [] ) ] spids: [1552 1567] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike found) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: ($ Id.Lit_ArithVarLike count) right: {<Id.Lit_Digits 1>} ) ) right: <Id.Op_DRightParen _> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> 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: ($ Id.Lit_ArithVarLike found) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_debugger_commands> var_name: _Dbg_debugger_commands bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName found_cmd)} ) right: <Id.Right_DollarBrace '}'> ) } {($ Id.VSub_DollarName _Dbg_args)} ] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'IFS='> name: IFS ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_space_IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} {(DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName _Dbg_prompt_str))} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: ($ Id.Lit_ArithVarLike _Dbg_continue_rc) right: {<Id.Lit_Digits 0>} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_DollarName _Dbg_continue_rc)} ) ] ops: [<Id.Op_DAmp _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Continue continue> ) ] spids: [1602 1610] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1451 1463] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _Dbg_cmd)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> <Id.Lit_Pound '#'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_history_remove_item> more_env: [] words: [{<_Dbg_history_remove_item>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <'#'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <.> pattern: (pat.Words words:[{<.>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_list> more_env: [] words: [ {<_Dbg_list>} {($ Id.VSub_DollarName _Dbg_frame_last_filename)} {($ Id.VSub_DollarName _Dbg_frame_last_lineno)} {<1>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <list>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <'/'> pattern: (pat.Words words:[{<'/'> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_search> more_env: [] words: [{<_Dbg_do_search>} {($ Id.VSub_DollarName _Dbg_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <search>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> <Id.Lit_QMark '?'> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_reverse> more_env: [] words: [{<_Dbg_do_reverse>} {($ Id.VSub_DollarName _Dbg_cmd)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(DQ <reverse>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <cd> pattern: (pat.Words words:[{<cd>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'cd_command='> (DQ <'cd '> ($ Id.VSub_DollarName _Dbg_args)) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_DollarName cd_command)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_pwd> more_env: [] words: [{<_Dbg_do_pwd>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <cd>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <comp> pattern: (pat.Words words: [{<comp>} {<compl>} {<comple>} {<complet>} {<complete>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_complete> more_env: [] words: [{<_Dbg_do_complete>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <complete>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <debug> pattern: (pat.Words words:[{<debug>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_debug> more_env: [] words: [{<_Dbg_do_debug>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_next_skip> more_env: [] words: [{<_Dbg_do_next_skip>} {(SQ <skip>)} {<1>}] redirects: [] do_fork: T ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName _Dbg_old_IFS))} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <debug>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <D> pattern: (pat.Words words:[{<D>} {<deletea>} {<deleteal>} {<deleteall>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_clear_all_brkpt> more_env: [] words: [{<_Dbg_clear_all_brkpt>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <deleteall>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.ControlFlow_Return return> pattern: (pat.Words words:[{<Id.ControlFlow_Return return>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <shell> pattern: (pat.Words words:[{<shell>} {(SQ <'!!'>)}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <si> pattern: (pat.Words words:[{<si>} {<sig>} {<sign>} {<signa>} {<signal>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_signal> more_env: [] words: [{<_Dbg_do_signal>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_last_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_last_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_last_cmd='> name: _Dbg_last_cmd ) op: assign_op.Equal rhs: {(SQ <signal>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ <'step+'>)} {(SQ <step->)}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_step> more_env: [] words: [ {<_Dbg_do_step>} {(DQ ($ Id.VSub_DollarName _Dbg_cmd))} {($ Id.VSub_DollarName _Dbg_args)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <L> pattern: (pat.Words words:[{<L>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_list_brkpt> more_env: [] words: [{<_Dbg_do_list_brkpt>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_list_watch> more_env: [] words: [{<_Dbg_list_watch>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_list_action> more_env: [] words: [{<_Dbg_list_action>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <A> pattern: (pat.Words words:[{<A>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_clear_all_actions> more_env: [] words: [{<_Dbg_do_clear_all_actions>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <H> pattern: (pat.Words words:[{<H>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_history_remove_item> more_env: [] words: [{<_Dbg_history_remove_item>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_history_list> more_env: [] words: [{<_Dbg_do_history_list>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <S> pattern: (pat.Words words:[{<S>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_list_functions> more_env: [] words: [{<_Dbg_do_list_functions>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <V> pattern: (pat.Words words:[{<V>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_info_variables> more_env: [] words: [{<_Dbg_do_info_variables>} {(DQ ($ Id.VSub_DollarName _Dbg_args))}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_EscapedChar '\\!'> pattern: (pat.Words words: [ {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\!'> ch:'!') <Id.Lit_Star '*'> } {<history>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_do_history> more_env: [] words: [{<_Dbg_do_history>} {($ Id.VSub_DollarName _Dbg_args)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ )}]) middle: <Id.Right_CasePat _> action: [ (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_n child: {($ Id.VSub_DollarName _Dbg_last_cmd)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_cmd='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_cmd='> name: _Dbg_cmd ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_last_cmd)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike '_Dbg_redo='> pairs: [ (AssignPair left: <Id.Lit_VarLike '_Dbg_redo='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike '_Dbg_redo='> name: _Dbg_redo ) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) ] spids: [2207 2219] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (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: ($ Id.Lit_ArithVarLike _Dbg_set_autoeval) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_do_eval> more_env: [] words: [ {<_Dbg_do_eval>} {($ Id.VSub_DollarName _Dbg_cmd)} {($ Id.VSub_DollarName _Dbg_args)} ] redirects: [] do_fork: T ) ] spids: [2242 2253] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_undefined_cmd> more_env: [] words: [{<_Dbg_undefined_cmd>} {(DQ ($ Id.VSub_DollarName _Dbg_cmd))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_history_remove_item> more_env: [] words: [{<_Dbg_history_remove_item>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'IFS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IFS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {($ Id.VSub_DollarName _Dbg_space_IFS)} ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ <'_Dbg_prompt='> ($ Id.VSub_DollarName _Dbg_prompt_str))}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_preloop> name: _Dbg_preloop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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: ($ Id.Lit_ArithVarLike _Dbg_set_annotate) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_annotation> more_env: [] words: [{<_Dbg_annotation>} {(SQ <breakpoints>)} {<_Dbg_do_info>} {<breakpoints>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_annotation> more_env: [] words: [{<_Dbg_annotation>} {(SQ <stack>)} {<_Dbg_do_backtrace>} {<3>}] redirects: [] do_fork: T ) ] spids: [2322 2331] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_postcmd> name: _Dbg_postcmd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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: ($ Id.Lit_ArithVarLike _Dbg_set_annotate) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _Dbg_last_cmd)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.ControlFlow_Break break> pattern: (pat.Words words: [ {<Id.ControlFlow_Break break>} {<tbreak>} {<disable>} {<enable>} {<condition>} {<clear>} {<delete>} ] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_annotation> more_env: [] words: [ {<_Dbg_annotation>} {(SQ <breakpoints>)} {<_Dbg_do_info>} {<breakpoints>} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <up> pattern: (pat.Words words:[{<up>} {<down>} {<frame>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_annotation> more_env: [] words: [{<_Dbg_annotation>} {(SQ <stack>)} {<_Dbg_do_backtrace>} {<3>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [2372 2381] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )