(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:flags) op: assign_op.Equal rhs: {(DQ )} spids: [14] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:realquota) op: assign_op.Equal rhs: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<which>} {<quota>})))} spids: [18] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: [(C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-gt>} {<0>} {<Id.Lit_RBracket ']'>})] body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_Number '$1')} arms: [ (case_arm pat_list: [{<--help>}] action: [ (command.Simple words: [ {<echo>} { (DQ <'Usage: '> ($ Id.VSub_Number '$0') <' [--group --verbose --quiet -gvq]'>) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [51 52 70 -1] ) (case_arm pat_list: [{<--group>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:flags) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$flags') <' -g'>)} spids: [77] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [73 75 86 -1] ) (case_arm pat_list: [{<--verbose>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:flags) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$flags') <' -v'>)} spids: [92] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [89 90 101 -1] ) (case_arm pat_list: [{<--quiet>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:flags) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$flags') <' -q'>)} spids: [107] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [104 105 116 -1] ) (case_arm pat_list: [{<-->}] action: [ (command.Sentence child: (C {<shift>}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token:<Id.ControlFlow_Break break>) ] spids: [119 120 127 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Break break>) terminator: <Id.Op_Semi _> ) ] spids: [130 131 -1 140] ) ] ) ] ) ) (C {<exec>} {($ Id.VSub_DollarName '$realquota')} {($ Id.VSub_DollarName '$flags')} {(DQ ($ Id.VSub_At '$@'))} ) ] )