(command.CommandList 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_GlobDEqual left: {($ Id.VSub_Number 0)} right: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name BASH_SOURCE> var_name: BASH_SOURCE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) 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 'dirname='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dirname='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dirname='> name:dirname) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name BASH_SOURCE> var_name: BASH_SOURCE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName dirname)} right: {($ Id.VSub_Number 0)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'top_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'top_dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'top_dir='> name:top_dir) op: assign_op.Equal rhs: {(SQ <..>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'top_dir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'top_dir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'top_dir='> name:top_dir) op: assign_op.Equal rhs: {(${ Id.VSub_Name dirname) <'/..'>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _> <Id.Op_DPipe _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{<help>} {<alias>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.Simple blame_tok: <source> more_env: [] words: [ {<source>} {($ Id.VSub_DollarName top_dir) <'/lib/'> (${ Id.VSub_Name file) <.sh>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) ] spids: [61 80] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok: <_Dbg_help_add> more_env: [] words: [ {<_Dbg_help_add>} {<help>} { (SQ <'**help** [*command* [*subcommand* ..]]\n'> <'\n'> <'If no arguments are given, print a list of command names.\n'> <'With a command name give help for that command. For many commands\n'> <'you can get further detailed help by listing the subcommand name.\n'> <'\n'> <'Examples:\n'> <'---------\n'> <'\n'> <' help\n'> <' help up\n'> <' help set\n'> <' help set args'> ) } {<1>} {<_Dbg_complete_help>} ] redirects: [] do_fork: T ) (command.ShFunction name_tok: <_Dbg_complete_help> name: _Dbg_complete_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Sentence child: (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-a>} {<words>}] 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 'words='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'words='> name:words) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{($ Id.VSub_DollarName COMP_LINE)}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<subcmds>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'subcmds='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'subcmds='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'subcmds='> name:subcmds) op: assign_op.Equal rhs: { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help prefix_op: <Id.VSub_Bang '!'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) 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.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name words> var_name: words prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 1>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{($ Id.VSub_DollarName subcmds)}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] spids: [221 241] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name words> var_name: words prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Digits 2>} ) right: <Id.Op_DRightParen _> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<Id.Lit_VarLike 'commands='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help prefix_op: <Id.VSub_Bang '!'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName subcmds))} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name words> var_name: words bracket_op: (bracket_op.ArrayIndex expr: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] spids: [252 273] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction keyword: <Id.KW_Function function> name_tok: <_Dbg_do_help> name: _Dbg_do_help body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName _Dbg_args))} right: {(SQ <'*'>)} ) right: <Id.Lit_DRightBracket ']]'> 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: {(SQ )} ) ] 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.Binary op_id: Id.BoolBinary_GlobDEqual left: {(SQ )} right: {($ Id.VSub_DollarName _Dbg_args)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <_Dbg_help_sort_command_names> more_env: [] words: [{<_Dbg_help_sort_command_names>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_section> more_env: [] words: [{<_Dbg_section>} {(SQ <'Available commands:'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-a>} {<Id.Lit_VarLike 'list='> (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_sorted_command_names> var_name: _Dbg_sorted_command_names bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] right: <Id.Right_ShArrayLiteral _> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_list_columns> more_env: [] words: [{<_Dbg_list_columns>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [{<_Dbg_msg>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} {(SQ <'Readline command line editing (emacs/vi mode) is available.'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} {(SQ <'Type "help" followed by command name for full documentation.'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [374 389] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'dbg_cmd='> (DQ ($ Id.VSub_Number 1))}] 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_command_help> var_name: _Dbg_command_help 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.Simple blame_tok: <_Dbg_msg_rst> more_env: [] words: [ {<_Dbg_msg_rst>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName dbg_cmd)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [458 475] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_alias_expand> more_env: [] words: [{<_Dbg_alias_expand>} {($ Id.VSub_DollarName dbg_cmd)}] redirects: [] do_fork: T ) (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: {(DQ ($ Id.VSub_DollarName expanded_alias))} ) ] 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.Unary op_id: Id.BoolUnary_n child: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help 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.Simple blame_tok: <_Dbg_msg_rst> more_env: [] words: [ {<_Dbg_msg_rst>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName dbg_cmd)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [504 521] ) ] else_kw: <Id.KW_Else else> else_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: <i> pattern: (pat.Words words:[{<i>} {<Id.KW_In in>} {<inf>} {<info>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_info_help> more_env: [] words: [{<_Dbg_info_help>} {($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <sh> pattern: (pat.Words words:[{<sh>} {<sho>} {<show>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_help_show> more_env: [] words: [{<_Dbg_help_show>} {($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <se> pattern: (pat.Words words:[{<se>} {<set>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_Dbg_help_set> more_env: [] words: [{<_Dbg_help_set>} {($ Id.VSub_Number 2)}] 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: [ (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<-i>} {<Id.Lit_VarLike 'count='> <0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<found_cmd>}] 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_command_help> var_name: _Dbg_command_help 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: [664 679] ) ] 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: [] ) (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: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name _Dbg_command_help> var_name: _Dbg_command_help bracket_op: (bracket_op.ArrayIndex expr: {($ Id.VSub_DollarName found_cmd)} ) right: <Id.Right_DollarBrace '}'> ) ) } ] redirects: [] do_fork: T ) ] spids: [711 719] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_Dbg_errmsg> more_env: [] words: [ {<_Dbg_errmsg>} { (DQ <'Undefined command: '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ($ Id.VSub_DollarName dbg_cmd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'. Try '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <help> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <.> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'aliases_found='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'aliases_found='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'aliases_found='> name: aliases_found ) op: assign_op.Equal rhs: {(SQ )} ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_alias_find_aliased> more_env: [] words: [{<_Dbg_alias_find_aliased>} {(DQ ($ Id.VSub_DollarName dbg_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: {($ Id.VSub_DollarName aliases_found)} ) 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>} {(SQ )}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_msg> more_env: [] words: [ {<_Dbg_msg>} { (DQ <'Aliases for '> ($ Id.VSub_DollarName dbg_cmd) <': '> ($ Id.VSub_DollarName aliases_found) ) } ] redirects: [] do_fork: T ) ] spids: [784 796] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<2>} ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {(SQ <h>)} {<help>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <_Dbg_alias_add> more_env: [] words: [{<_Dbg_alias_add>} {(SQ <'?'>)} {<help>}] 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_Number 0)} right: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name BASH_SOURCE> var_name: BASH_SOURCE bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 0>}) right: <Id.Right_DollarBrace '}'> ) } ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [file] iterable: (for_iter.Words words:[{<sort>} {<columnize>} {<list>} {<msg>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Sentence child: (command.Simple blame_tok: <source> more_env: [] words: [ {<source>} {($ Id.VSub_DollarName top_dir) <'/lib/'> (${ Id.VSub_Name file) <.sh>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <_Dbg_do_help> more_env: [] words: [{<_Dbg_do_help>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(SQ <--->)}] redirects: [] do_fork: T ) (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: {(SQ <help>)} ) ] redirects: [] ) (command.Simple blame_tok: <_Dbg_do_help> more_env: [] words: [{<_Dbg_do_help>} {<help>}] redirects: [] do_fork: T ) ] spids: [848 867] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )