(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 '$?')} ) ] ) ) ] )