(command.CommandList
  children: [
    (command.Case
      to_match: {($ Id.VSub_Pound '$#') <Id.Lit_Colon ':'> ($ Id.VSub_Number '$2')}
      arms: [
        (case_arm
          pat_list: [{<1> <Id.Lit_Colon ':'>} {<2> <Id.Lit_Colon ':'> <-r>}]
          spids: [18 24 26 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  words: [{<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number '$0') <' <abbreviation> [-r]'>)}]
                  redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})]
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [28 29 -1 47]
        )
      ]
    )
    (C {<.>} {<'/etc/fstab'>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dev)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [55]
        )
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dir)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [58]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_Number '$1')}
      arms: [
        (case_arm
          pat_list: [{<0>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {<'/dev/fd0'>}
                  spids: [71]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {<fd0>}
                  spids: [74]
                )
              ]
            )
          ]
          spids: [68 69 77 -1]
        )
        (case_arm
          pat_list: [{<1>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {<'/dev/fd1'>}
                  spids: [82]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {<fd1>}
                  spids: [85]
                )
              ]
            )
          ]
          spids: [79 80 88 -1]
        )
        (case_arm
          pat_list: [{<PS0>} {<at0>} {<fd0>} {<pat0>} {<pc0>} {<ps0>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {<'/dev/'> ($ Id.VSub_DollarName '$dev')}
                  spids: [103]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {<fd0>}
                  spids: [107]
                )
              ]
            )
          ]
          spids: [90 101 110 -1]
        )
        (case_arm
          pat_list: [{<PS1>} {<at1>} {<fd1>} {<pat1>} {<pc1>} {<ps1>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {<'/dev/'> ($ Id.VSub_DollarName '$dev')}
                  spids: [125]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {<fd1>}
                  spids: [129]
                )
              ]
            )
          ]
          spids: [112 123 132 -1]
        )
        (case_arm
          pat_list: [{<root>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$root')}
                  spids: [137]
                )
              ]
            )
          ]
          spids: [134 135 140 -1]
        )
        (case_arm
          pat_list: [{<tmp>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$tmp')}
                  spids: [145]
                )
              ]
            )
          ]
          spids: [142 143 148 -1]
        )
        (case_arm
          pat_list: [{<usr>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName '$usr')}
                  spids: [153]
                )
              ]
            )
          ]
          spids: [150 151 156 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'>}]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dev)
                  op: assign_op.Equal
                  rhs: {<'/dev/'> ($ Id.VSub_DollarName '$dev')}
                  spids: [161]
                )
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:dir)
                  op: assign_op.Equal
                  rhs: {<mnt>}
                  spids: [165]
                )
              ]
            )
          ]
          spids: [158 159 -1 168]
        )
      ]
    )
    (command.Case
      to_match: {($ Id.VSub_Number '$0')}
      arms: [
        (case_arm
          pat_list: [{<Id.Lit_Star '*'> <M>}]
          action: [
            (C {<mount>} {($ Id.VSub_DollarName '$dev')} {<'/'> ($ Id.VSub_DollarName '$dir')} 
              {($ Id.VSub_Number '$2')}
            )
          ]
          spids: [177 179 190 -1]
        )
        (case_arm
          pat_list: [{<Id.Lit_Star '*'> <U>}]
          action: [(C {<umount>} {($ Id.VSub_DollarName '$dev')})]
          spids: [192 194 -1 200]
        )
      ]
    )
  ]
)