(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: (Token id:Id.Left_DollarParen val:'$(' span_id:20)
                  command_list: (command.CommandList children:[(C {(which)} {(quota)})])
                )
              )
            }
          spids: [18]
        )
      ]
    )
    (command.WhileUntil
      keyword: (Token id:Id.KW_While val:while span_id:28)
      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.Redir
                          op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:62)
                          fd: -1
                          arg_word: {(2)}
                        )
                      ]
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Exit val:exit span_id:66)
                      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: (Token id:Id.Op_Semi val:';' span_id:82)
                    )
                    (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: (Token id:Id.Op_Semi val:';' span_id:97)
                    )
                    (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: (Token id:Id.Op_Semi val:';' span_id:112)
                    )
                    (C {(shift)})
                  ]
                  spids: [104 105 116 -1]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [
                    (command.Sentence
                      child: (C {(shift)})
                      terminator: (Token id:Id.Op_Semi val:';' span_id:123)
                    )
                    (command.ControlFlow
                      token: (Token id:Id.ControlFlow_Break val:break span_id:125)
                    )
                  ]
                  spids: [119 120 127 -1]
                )
                (case_arm
                  pat_list: [{(Id.Lit_Star '*')}]
                  action: [
                    (command.Sentence
                      child: 
                        (command.ControlFlow
                          token: (Token id:Id.ControlFlow_Break val:break span_id:133)
                        )
                      terminator: (Token id:Id.Op_Semi val:';' span_id:134)
                    )
                  ]
                  spids: [130 131 -1 140]
                )
              ]
            )
          ]
        )
    )
    (C {(exec)} {($ Id.VSub_DollarName '$realquota')} {($ Id.VSub_DollarName '$flags')} 
      {(DQ ($ Id.VSub_At '$@'))}
    )
  ]
)