(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>}] 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: {<cpio>} ) ] 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: { (DQ <'\n'> <'Usage: '> ($ Id.VSub_DollarName command) <' -o[acvBV] [-C size] [-M mesg] [-O file | >file ] <list\n'> <' '> ($ Id.VSub_DollarName command) <' -i[bcdfkmrtsuvBSV6] [-I file | <file] [pattern ...]\n'> <' '> ($ Id.VSub_DollarName command) <' -p[adlmuvV] directory'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'OPTSTR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OPTSTR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTSTR='> name:OPTSTR) op: assign_op.Equal rhs: { (SQ < 'abcdfiklmoprstuvBSV6C:[size]H:[format]M:[message]O:[file]?D [ pattern | directory ]' > ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'options='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ <-d>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'blocksize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'blocksize='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'blocksize='> name:blocksize) op: assign_op.Equal rhs: {<1b>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'exec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec='> name:exec) op: assign_op.Equal rhs: {<eval>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<binary>} ) ] redirects: [] ) (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 )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'logphys='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'logphys='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'logphys='> name:logphys) op: assign_op.Equal rhs: {<-P>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'd_default='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'd_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'd_default='> name:d_default) op: assign_op.Equal rhs: {(DQ <'-o nomkdir'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'm_default='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'm_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm_default='> name:m_default) op: assign_op.Equal rhs: {(DQ <-pm>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'u_default='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'u_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'u_default='> name:u_default) op: assign_op.Equal rhs: {(DQ <-u>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'r_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r_ok='> name:r_ok) op: assign_op.Equal rhs: {(DQ <1>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ <1>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'p_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ <1>)} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <getopts> more_env: [] words: [ {<getopts>} {<-a>} {($ Id.VSub_DollarName command)} {(DQ ($ Id.VSub_DollarName OPTSTR))} {<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: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ <D>)}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName exec)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <eval> pattern: (pat.Words words:[{<eval>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'exec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec='> name:exec) 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.ShAssignment left: <Id.Lit_VarLike 'exec='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'exec='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'exec='> name:exec) op: assign_op.Equal rhs: {(DQ <'eval args'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words:[{<Id.Lit_LBracket '['> <bsS6> <Id.Lit_RBracket ']'>}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_LBracket '['> pattern: (pat.Words words:[{<Id.Lit_LBracket '['> <klvV> <Id.Lit_RBracket ']'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'options='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName options) <' -'> ($ Id.VSub_DollarName OPT))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <a> pattern: (pat.Words words:[{<a>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'r_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r_ok='> name:r_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName options) <' -p'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <c> pattern: (pat.Words words:[{<c>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<cpio>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <d> pattern: (pat.Words words:[{<d>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'd_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'd_default='> name:d_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <f> pattern: (pat.Words words:[{<f>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName options) <' -c'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <i> pattern: (pat.Words words:[{<i>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName mode)}) 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<-r>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-r> pattern: (pat.Words words:[{<-r>}]) middle: <Id.Right_CasePat _> action: [] 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <m> pattern: (pat.Words words:[{<m>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'm_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm_default='> name:m_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <o> pattern: (pat.Words words:[{<o>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'r_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r_ok='> name:r_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'u_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'u_default='> name:u_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName mode)}) 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<-w>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-w> pattern: (pat.Words words:[{<-w>}]) middle: <Id.Right_CasePat _> action: [] 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <p> pattern: (pat.Words words:[{<p>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'r_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r_ok='> name:r_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName mode)}) 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<-rw>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-rw> pattern: (pat.Words words:[{<-rw>}]) middle: <Id.Right_CasePat _> action: [] 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 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {<x>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <r> pattern: (pat.Words words:[{<r>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName options) <' -i'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <t> pattern: (pat.Words words:[{<t>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'list='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'list='> name:list) op: assign_op.Equal rhs: {(DQ <1>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <u> pattern: (pat.Words words:[{<u>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'u_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'u_default='> name:u_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <B> pattern: (pat.Words words:[{<B>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'blocksize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'blocksize='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'blocksize='> name:blocksize) op: assign_op.Equal rhs: {<5k>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <L> pattern: (pat.Words words:[{<L>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'logphys='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'logphys='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'logphys='> name:logphys) op: assign_op.Equal rhs: {<-L>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <C> pattern: (pat.Words words:[{<C>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName OPTARG)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words: [ {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'blocksize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'blocksize='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'blocksize='> name: blocksize ) op: assign_op.Equal rhs: {(${ Id.VSub_Name OPTARG) <c>} ) ] 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 'blocksize='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'blocksize='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'blocksize='> name: blocksize ) op: assign_op.Equal rhs: {(${ Id.VSub_Name OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <H> pattern: (pat.Words words:[{<H>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName OPTARG)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <asc> pattern: (pat.Words words:[{<asc>} {<ASC>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<asc>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <crc> pattern: (pat.Words words:[{<crc>} {<CRC>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<aschk>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <odc> pattern: (pat.Words words:[{<odc>} {<ODC>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<cpio>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <tar> pattern: (pat.Words words:[{<tar>} {<TAR>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<tar>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ustar> pattern: (pat.Words words:[{<ustar>} {<USTAR>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'format='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'format='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'format='> name:format) op: assign_op.Equal rhs: {<ustar>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Sentence child: (command.Simple blame_tok: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': '> ($ Id.VSub_DollarName OPTARG) <': formats are {asc,crc,odc,tar,star}'> ) } ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <I> pattern: (pat.Words words:[{<I>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w_ok='> name:w_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName options) <' -f \''> ($ Id.VSub_DollarName OPTARG) <'\''> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <O> pattern: (pat.Words words:[{<O>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'r_ok='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'r_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'r_ok='> name:r_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'p_ok='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'p_ok='> name:p_ok) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName options) <' -f \''> ($ Id.VSub_DollarName OPTARG) <'\''> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <M> pattern: (pat.Words words:[{<M>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'options='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName options) <' -o eom='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'\''> ($ Id.VSub_DollarName OPTARG) <'\''> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) ) } ) ] redirects: [] ) ] 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>} { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Minus left: {($ Id.VSub_DollarName OPTIND)} right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ] redirects: [] do_fork: T ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName mode)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-r> pattern: (pat.Words words:[{<-r>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName r_ok)}) 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: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': options inconsistent with archive read'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'options='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName options) <' -b '> ($ Id.VSub_DollarName blocksize))} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-w> pattern: (pat.Words words:[{<-w>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName w_ok)}) 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: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': options inconsistent with archive write'> ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (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: [] 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: <print> more_env: [] words: [ {<print>} {(DQ ($ Id.VSub_DollarName command) <': arguments not expected'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'options='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'options='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'options='> name:options) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName options) <' -x '> ($ Id.VSub_DollarName format) <' -b '> ($ Id.VSub_DollarName blocksize) ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'd_default='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'd_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'd_default='> name:d_default) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'm_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm_default='> name:m_default) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'u_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'u_default='> name:u_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-rw> pattern: (pat.Words words:[{<-rw>}]) middle: <Id.Right_CasePat _> action: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName p_ok)}) 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: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': options inconsistent with file pass'>) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (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: <1> pattern: (pat.Words words:[{<1>}]) middle: <Id.Right_CasePat _> action: [] 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: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': a single directory argument is expected'> ($ Id.VSub_DollarName usage) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ )}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': one of -i, -o, -p must be specified'> ($ Id.VSub_DollarName usage) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] 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: <print> more_env: [] words: [ {<print>} {<-u2>} { (DQ ($ Id.VSub_DollarName command) <': only one of -i, -o, -p may be specified'> ($ Id.VSub_DollarName usage) ) } ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName list)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <Id.Left_DoubleQuote '"'> pattern: (pat.Words words:[{(DQ <1>)}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'd_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'd_default='> name:d_default) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'm_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'm_default='> name:m_default) op: assign_op.Equal rhs: {(DQ )} ) (AssignPair left: <Id.Lit_VarLike 'u_default='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'u_default='> name:u_default) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName exec)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <eval> pattern: (pat.Words words:[{<eval>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <Id.VSub_DollarName '$exec'> more_env: [] words: [ {($ Id.VSub_DollarName exec)} {<pax>} {($ Id.VSub_DollarName mode)} {($ Id.VSub_DollarName logphys)} {($ Id.VSub_DollarName options)} {($ Id.VSub_DollarName d_default)} {($ Id.VSub_DollarName m_default)} {($ Id.VSub_DollarName u_default)} {(SQ <'"$@"'>)} ] 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 '$exec'> more_env: [] words: [ {($ Id.VSub_DollarName exec)} {<pax>} {($ Id.VSub_DollarName mode)} {($ Id.VSub_DollarName logphys)} {($ Id.VSub_DollarName options)} {($ Id.VSub_DollarName d_default)} {($ Id.VSub_DollarName m_default)} {($ Id.VSub_DollarName u_default)} {(DQ ($ Id.VSub_At '@'))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] )