(command.CommandList children: [ (command.Simple blame_tok: <_Dbg_help_add_sub> more_env: [] words: [ {<_Dbg_help_add_sub>} {<info>} {<functions>} { (SQ <'**info functions** [*pattern*]\n'> <'\n'> <'Show functions matching regular expression PATTERN.\n'> <'If pattern is empty, list all functions.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> <' info functions \\# list of all functions\n'> <' info functions s \\# functions containing an \\"s\\"\n'> <' info function \\^s \\# functions starting with an \\"s\\"\n'> <'\n'> <'See also:\n'> <'---------\n'> <'\n'> <'**info variables**.'> ) } {<1>} ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_do_info_functions> name: _Dbg_do_info_functions body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'pat='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<fns_a>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'fns_a='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'fns_a='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fns_a='> name:fns_a) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_Dbg_get_functions> more_env: [] words: [{<_Dbg_get_functions>} {<0>} {(DQ ($ Id.VSub_DollarName pat))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<i>}] redirects: [] do_fork: T ) (command.ForExpr keyword: <Id.KW_For for> init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike i) right: {<Id.Lit_Digits 0>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: ($ Id.Lit_ArithVarLike i) right: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name fns_a> var_name: fns_a prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i)) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name fns_a> var_name: fns_a bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )