(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAG='> name:CFLAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [90] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FFLAG='> name:FFLAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [92] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MFLAG='> name:MFLAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [94] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HFLAG='> name:HFLAG) op: assign_op.Equal rhs: {<-h>} spids: [96] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(DQ <'usage: file [-cL] [-f ffile] [-m mfile] file...'>)} spids: [99] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [(C {<getopts>} {<cLf> <Id.Lit_Colon ':'> <m> <Id.Lit_Colon ':'>} {<opt>})] ) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName opt)} arms: [ (case_arm pat_list: [{<c>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CFLAG='> name:CFLAG) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName opt)} spids: [129] ) ] redirects: [] ) ] spids: [126 127 132 -1] ) (case_arm pat_list: [{<L>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HFLAG='> name:HFLAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [138] ) ] redirects: [] ) ] spids: [135 136 140 -1] ) (case_arm pat_list: [{<m>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MFLAG='> name:MFLAG) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName opt)} spids: [146] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MARG='> name:MARG) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} spids: [151] ) ] redirects: [] ) ] spids: [143 144 153 -1] ) (case_arm pat_list: [{<f>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FFLAG='> name:FFLAG) op: assign_op.Equal rhs: {<-> ($ Id.VSub_DollarName opt)} spids: [159] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FARG='> name:FARG) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} spids: [164] ) ] redirects: [] ) ] spids: [156 157 166 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (command.Sentence child: (C {<echo>} {($ Id.VSub_DollarName USAGE)}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [169 170 181 -1] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>}) right: <Id.Backtick_Right '`'> ) } ) (C {<exec>} {<'/usr/bin/file'>} {($ Id.VSub_DollarName HFLAG)} {($ Id.VSub_DollarName CFLAG)} {($ Id.VSub_DollarName MFLAG)} {($ Id.VSub_DollarName MARG)} {($ Id.VSub_DollarName FFLAG)} {($ Id.VSub_DollarName FARG)} {(DQ ($ Id.VSub_At '@'))} ) ] )