(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} {<ie>} {<Id.Lit_Colon ':'>} {<execute>} {<a>} {<command>} {<with>} {<ksh-style>} {<input>} {<editing>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<env>} {<histfile>} {<show>} {<command>} {<opt>} {<prefix>} {<dll>} {<suffix>} {<ifs>} {<root>} {<path>} {<s>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<OPT>} {<ARGV0>} {<USAGE>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command) op: assign_op.Equal rhs: {<ie>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <getopts> more_env: [] words: [{<getopts>} {(SQ <'[-][123:xyz]'>)} {<opt>} {<--xyz>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<0> ($ Id.VSub_DollarName opt)}] redirects: [] do_fork: T ) ] ) right: <Id.Eof_RParen _> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0123> pattern: (pat.Words words:[{<0123>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARGV0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARGV0='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0) op: assign_op.Equal rhs: {(DQ <'-a '> ($ Id.VSub_DollarName command))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'USAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: { (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals '\n'> <Id.Char_Literals '[-?\n'> <Id.Char_Literals '@(#)$Id: ie (AT&T Labs Research) 1998-11-30 $\n'> <Id.Char_Literals ']\n'> ] right: <Id.Right_SingleQuote '\''> ) ($ Id.VSub_DollarName USAGE_LICENSE) (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals '\n'> <Id.Char_Literals '[+NAME?ie - execute a command with ksh-style input editing]\n' > <Id.Char_Literals '[+DESCRIPTION?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' executes a dynamically linked '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals '\n'> <Id.Char_Literals '\twith ksh-style input editing on the standard input terminal. The\n' > <Id.Char_Literals '\tdefault history file name is '> <Id.Char_OneChar '\\b'> <Id.Char_Literals '$HOME/.'> <Id.Char_OneChar '\\a'> <Id.Char_Literals base> <Id.Char_OneChar '\\a'> <Id.Char_Literals ', where '> <Id.Char_OneChar '\\a'> <Id.Char_Literals base> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' is\n'> <Id.Char_Literals '\tthe base name of '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' with leading ['> <Id.Char_OneChar '\\b'> <Id.Char_Literals nox> <Id.Char_OneChar '\\b'> <Id.Char_Literals ']] deleted. All processes\n'> <Id.Char_Literals '\texecuted by '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' will have input editing enabled on the same\n'> <Id.Char_Literals '\thistory file.]\n'> <Id.Char_Literals '[h:history?Sets the history file name to '> <Id.Char_OneChar '\\a'> <Id.Char_Literals path> <Id.Char_OneChar '\\a'> <Id.Char_Literals '.]:[path]\n'> <Id.Char_Literals '[n!:exec?Execute '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals '. '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --noexec> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' shows how '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' would be\n'> <Id.Char_Literals '\tinvoked but does not execute.]\n'> <Id.Char_Literals '[+DETAILS?Input editing is implemented by intercepting the ' > <Id.Char_OneChar '\\b'> <Id.Char_Literals read> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(2) system call\n'> <Id.Char_Literals '\ton file descriptor 0 with a dll that is preloaded at process startup\n' > <Id.Char_Literals '\tbefore '> <Id.Char_OneChar '\\a'> <Id.Char_Literals main> <Id.Char_OneChar '\\a'> <Id.Char_Literals '() is called. The interception mechanism may involve the\n' > <Id.Char_Literals '\tenvironment on some systems; in those cases commands like ' > <Id.Char_OneChar '\\b'> <Id.Char_Literals env> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1)\n'> <Id.Char_Literals '\tthat clear the enviroment before execution may defeat the ' > <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals '\n'> <Id.Char_Literals '\tintercept.]\n'> <Id.Char_Literals '[+?Also intercepted are the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals _> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' and '> <Id.Char_OneChar '\\b'> <Id.Char_Literals _libc_> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' name permutations of the\n'> <Id.Char_Literals '\t'> <Id.Char_OneChar '\\b'> <Id.Char_Literals read> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' call, as well as any 32-bit and 64-bit versions. '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals '\n'> <Id.Char_Literals '\tignores calls not present in a particular host system. In addition,\n' > <Id.Char_Literals '\t'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' only works on dynamically linked executables that have neither\n' > <Id.Char_Literals '\tset-uid nor set-gid permissions. It may not have the intended effect\n' > <Id.Char_Literals '\ton programs written in a language or linked with a language runtime\n' > <Id.Char_Literals '\tthat hides or mangles system call library symbols, or that\n' > <Id.Char_Literals '\tdirectly emit system call instruction sequences rather than using\n' > <Id.Char_Literals '\tthe corresponding library functions, or that dynamically link\n' > <Id.Char_Literals '\tlibraries outside of the scope of the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' intercepts.]\n'> <Id.Char_Literals '[+?Multi-process client-server applications may misbehave if the ' > <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals '\n'> <Id.Char_Literals '\tenvironment between the related processes is not kept in sync.]\n' > <Id.Char_Literals '\n'> <Id.Char_Literals 'command [ arg ... ]\n'> <Id.Char_Literals '\n'> <Id.Char_Literals '[+ENVIRONMENT?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' is implemented by two components: the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' script,\n'> <Id.Char_Literals '\tlocated on '> <Id.Char_OneChar '\\b'> <Id.Char_Literals '$PATH'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' and the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' dll (shared library), located\n'> <Id.Char_Literals '\teither on '> <Id.Char_OneChar '\\b'> <Id.Char_Literals '$PATH'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' or in one of the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals '../lib'> <Id.Char_OneChar '\\b'> <Id.Char_Literals '* directories on\n'> <Id.Char_Literals '\t'> <Id.Char_OneChar '\\b'> <Id.Char_Literals '$PATH'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ', depending on local compilation system conventions. Systems\n' > <Id.Char_Literals '\tlike '> <Id.Char_OneChar '\\b'> <Id.Char_Literals sgi.mips3> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' that support multiple a.out formats may have\n'> <Id.Char_Literals '\tmultiple versions of the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' dll. In all cases the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ie> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' script\n'> <Id.Char_Literals '\thandles the dll search.]\n'> <Id.Char_Literals '[+SEE ALSO?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals 3d> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals sh> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals trace> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals warp> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals read> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(2)]\n'> ] right: <Id.Right_SingleQuote '\''> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARGV0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARGV0='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'USAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(SQ <'h:[history]nt command [ arg ... ]'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<grab>} {<the>} {<options>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <getopts> more_env: [] words: [ {<getopts>} {($ Id.VSub_DollarName ARGV0)} {(DQ ($ Id.VSub_DollarName USAGE))} {<OPT>} ] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName OPT)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <h> pattern: (pat.Words words:[{<h>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'histfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'histfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'histfile='> name:histfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <n> pattern: (pat.Words words:[{<n>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'show='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'show='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'show='> name:show) op: assign_op.Equal rhs: {<print>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>})] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>} {($ Id.VSub_DollarName OPTIND) <-1>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_Pound '#')}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-->} {(SQ <'-?'>)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.Simple blame_tok: <getopts> more_env: [] words: [ {<getopts>} {($ Id.VSub_DollarName ARGV0)} {(DQ ($ Id.VSub_DollarName USAGE))} {<OPT>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<history>} {<file>} {<hooks>}] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-x>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) ] spids: [491 501] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'command='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'command='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'command='> name:command) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <whence> more_env: [] words: [{<whence>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.Simple blame_tok:<shift> more_env:[] words:[{<shift>}] redirects:[] do_fork:T) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName histfile)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'histfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'histfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'histfile='> name:histfile) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name command> var_name: command suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName histfile)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words: [ {<Id.Lit_LBracket '['> <nox> <Id.Lit_RBracket ']'> <Id.Lit_QMark '?'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'histfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'histfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'histfile='> name:histfile) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name histfile> var_name: histfile suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {<Id.Lit_Other '?'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'histfile='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'histfile='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'histfile='> name:histfile) op: assign_op.Equal rhs: {($ Id.VSub_DollarName HOME) <'/.'> ($ Id.VSub_DollarName histfile)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<find>} {<the>} {<dll>} {<root>} {<dir>}] redirects: [] do_fork: T ) (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: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name IFS> var_name: IFS suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{(SQ <'\n'> <'\t '>)}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (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: {<Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [{<set>} {<-A>} {<path>} {($ Id.VSub_DollarName PATH)}] redirects: [] do_fork: T ) (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: {($ Id.VSub_DollarName ifs)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [root] iterable: (for_iter.Words words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name path> var_name: path bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'root='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'root='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'root='> name:root) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name root> var_name: root suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <set> more_env: [] words: [ {<set>} {<-A>} {<lib>} {($ Id.VSub_DollarName root) <'/'> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<bin>} {<lib>}] right: <Id.Right_ExtGlob _> ) <'/'> (word_part.ExtGlob op:<Id.ExtGlob_At '@('> arms:[{<lib>} {}] right:<Id.Right_ExtGlob _>) <edit> (word_part.ExtGlob op: <Id.ExtGlob_Star '*('> arms: [{<'[0-9]'>}] right: <Id.Right_ExtGlob _> ) <.> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [ {<dll>} {<'s[ol]'> (word_part.ExtGlob op: <Id.ExtGlob_Star '*('> arms: [{<'[0-9.]'>}] right: <Id.Right_ExtGlob _> ) } ] right: <Id.Right_ExtGlob _> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'dll='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dll='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dll='> name:dll) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name lib> var_name: lib bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name lib> var_name: lib 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.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {($ Id.VSub_DollarName dll)}] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Break break>)] spids: [687 696] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prefix='> name:prefix) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name dll> var_name: dll suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [ {<dll>} {<'s[ol]'> (word_part.ExtGlob op: <Id.ExtGlob_Star '*('> arms: [{<'[0-9.]'>}] right: <Id.Right_ExtGlob _> ) } ] right: <Id.Right_ExtGlob _> ) } ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'suffix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'suffix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'suffix='> name:suffix) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name dll> var_name: dll suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {($ Id.VSub_DollarName prefix)} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'prefix='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'prefix='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'prefix='> name:prefix) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name prefix> var_name: prefix suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {($ Id.VSub_DollarName root) <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} {<hack>} {<the>} {<preload>} {<magic> <Id.Lit_Comma ','>} {<and>} {<we>} {<mean>} {<hack>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ <'HISTFILE=\''> ($ Id.VSub_DollarName histfile) <'\' LD_PRELOAD=\''> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name LD_PRELOAD> var_name: LD_PRELOAD suffix_op: (suffix_op.Unary op: <Id.VTest_ColonPlus _> arg_word: {<' '> ($ Id.VSub_DollarName LD_PRELOAD)} ) right: <Id.Right_DollarBrace '}'> ) <'\''> ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName root)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'> <-n32>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLDN32_LIST='> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLDN32_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLDN32_LIST)) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-n32> ($ Id.VSub_DollarName suffix) } ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD64_LIST='> ($ Id.VSub_DollarName dll) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD64_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD64_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLDN32_LIST='> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-n32> ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLDN32_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLDN32_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD_LIST='> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-o32> ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [836 849] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.Simple blame_tok: <test> more_env: [] words: [ {<test>} {<-f>} {($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-64> ($ Id.VSub_DollarName suffix) } {<-o>} {<-f>} {($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-o32> ($ Id.VSub_DollarName suffix) } ] redirects: [] do_fork: T ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD64_LIST='> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-64> ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD64_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD64_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLDN32_LIST='> ($ Id.VSub_DollarName dll) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLDN32_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLDN32_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD_LIST='> ($ Id.VSub_DollarName root) <'/'> ($ Id.VSub_DollarName prefix) <-o32> ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] spids: [991 1014] ) ] 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 root)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <'/sgi.mips'> <Id.Lit_LBracket '['> <2-9> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'root='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'root='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'root='> name:root) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name root> var_name: root suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<-> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'root='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'root='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'root='> name:root) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name root> var_name: root suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Other '?'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD64_LIST='> (${ Id.VSub_Name root) <'4/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD64_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD64_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLDN32_LIST='> (${ Id.VSub_Name root) <'3/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLDN32_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLDN32_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD_LIST='> (${ Id.VSub_Name root) <'2/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <' _RLD_LIST='> (${ Id.VSub_Name root) <'/'> ($ Id.VSub_DollarName prefix) ($ Id.VSub_DollarName suffix) ) } ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName _RLD_LIST)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName env) <':DEFAULT'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'env='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'env='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'env='> name:env) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName env) <':'> ($ Id.VSub_DollarName _RLD_LIST) ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<engage>}] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName show)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_DollarName env)} {(SQ <'$command "$@"'>)}] 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: <Id.VSub_DollarName '$show'> more_env: [] words: [ {($ Id.VSub_DollarName show)} {($ Id.VSub_DollarName env)} {($ Id.VSub_DollarName command)} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] )