(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<run>} { (SQ <'**run** [*args*]\n'> <'\n'> <'Attempt to restart the program via an exec call.\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**set args**, **kill** and **quit**'> ) } ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_run> name: _Dbg_do_run body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<script_args>}] 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: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_Pound '#')} 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: <printf> more_env: [] words: [ {<printf>} {<-v>} {<script_args>} {(DQ <'%q '>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_orig_script_args> var_name: _Dbg_orig_script_args bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [101 116] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <printf> more_env: [] words: [{<printf>} {<-v>} {<script_args>} {(DQ <'%q '>)} {(DQ ($ Id.VSub_At '@'))}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'exec_cmd_prefix='> (DQ ($ Id.VSub_DollarName _Dbg_orig_0))} ] 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_script) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName BASH))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'BASH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BASH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BASH='> name:BASH) op: assign_op.Equal rhs: {(SQ <bash>)} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'bash_opt='> (SQ )}] 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 _Dbg_frame_last_filename)} right: {($ Id.VSub_DollarName _Dbg_bogus_file)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'script_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'script_args='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'script_args='> name: script_args ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bash_opt) <'-c '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName _Dbg_EXECUTION_STRING) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ) ] redirects: [] ) ] spids: [224 238] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Sentence child: (command.ShAssignment left: <Id.Lit_VarLike 'script_args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'script_args='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'script_args='> name: script_args ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bash_opt) ($ Id.VSub_DollarName _Dbg_orig_0) <' '> ($ Id.VSub_DollarName script_args) ) } ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exec_cmd_prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec_cmd_prefix='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'exec_cmd_prefix='> name: exec_cmd_prefix ) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName BASH))} ) ] redirects: [] ) ] spids: [169 180] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ ($ Id.VSub_DollarName BASH))} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'exec_cmd_prefix='> (DQ ($ Id.VSub_DollarName BASH) <' '> ($ Id.VSub_DollarName _Dbg_orig_0)) } ] redirects: [] do_fork: T ) ] spids: [277 291] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(DQ <'Restarting with: '> ($ Id.VSub_DollarName script_args))}] 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: (arith_expr.Binary op_id: Id.Arith_Great left: ($ Id.Lit_ArithVarLike BASH_SUBSHELL) 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 <'Note you are in a subshell. We will need to leave that first.'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_write_journal> more_env: [] words: [ {<_Dbg_write_journal>} { (DQ <'_Dbg_RESTART_COMMAND='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName exec_cmd_prefix) <' '> ($ Id.VSub_DollarName script_args) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_do_quit> more_env: [] words: [{<_Dbg_do_quit>} {<0>}] redirects: [] do_fork: T ) ] spids: [333 348] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_cleanup> more_env: [] words: [{<_Dbg_cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_save_state> more_env: [] words: [{<_Dbg_save_state>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <builtin> more_env: [] words: [{<builtin>} {<cd>} {($ Id.VSub_DollarName _Dbg_init_cwd)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [ {<eval>} { (DQ <'exec '> ($ Id.VSub_DollarName exec_cmd_prefix) <' '> ($ Id.VSub_DollarName script_args) ) } ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<R>} {<run>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {<restart>} {<run>}] redirects: [] do_fork: T ) ] )