(command.CommandList
  children: [
    (C {<_Dbg_help_add>} {<skip>} 
      {
        (DQ <'**skip** [*count*]\n'> <'\n'> <'Skip (don\'t run) the next *count* command(s).\n'> <'\n'> 
          <'If *count* is given, stepping occurs that many times before\n'> <'stopping. Otherwise *count* is one. *count* can be an arithmetic\n'> <'expression.\n'> <'\n'> 
          <'Note that skipping doesn\'t change the value of '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'?. This has\n'> 
          <'consequences in some compound statements that test on '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <'?. For example\n'> <'in:\n'> <'\n'> 
          <'   if grep foo bar.txt ; then\n'> <'      echo not skipped\n'> <'   fi\n'> <'\n'> 
          <'skipping the *if* statement will in effect skip running the *grep*\n'> <'command. Since the return code is 0 when skipped, the *if* body is\n'> 
          <'entered. Similarly the same thing can  happen in a *while* statement\n'> <'test.\n'> <'\n'> <'See http://lists.gnu.org/archive/html/bug-bash/2017-04/msg00004.html\n'> <'\n'> 
          <'See also:\n'> <'---------\n'> <'\n'> <'**next** and **step**.\n'>
        )
      }
    )
    (command.ShFunction
      name: _Dbg_do_skip
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:_Dbg_last_cmd)
                  op: assign_op.Equal
                  rhs: {(SQ <skip>)}
                  spids: [105]
                )
              ]
            )
            (C {<_Dbg_next_skip_common>} {<1>} {($ Id.VSub_Star '$*')})
            (command.ControlFlow
              token: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_QMark '$?')}
            )
          ]
        )
    )
  ]
)