(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:ncopies spids:[121])
          op: Equal
          rhs: {(DQ )}
          spids: [121]
        )
      ]
      spids: [121]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:symlink spids:[125])
          op: Equal
          rhs: {(DQ (-s))}
          spids: [125]
        )
      ]
      spids: [125]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:mailafter spids:[130])
          op: Equal
          rhs: {(DQ )}
          spids: [130]
        )
      ]
      spids: [130]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:title spids:[134])
          op: Equal
          rhs: {(DQ )}
          spids: [134]
        )
      ]
      spids: [134]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:dest spids:[142])
          op: Equal
          rhs: 
            {
              (word_part.BracedVarSub
                token: <VSub_Name LPDEST>
                suffix_op: 
                  (suffix_op.StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (word_part.BracedVarSub
                          token: <VSub_Name PRINTER>
                          suffix_op: (suffix_op.StringUnary op_id:VTest_ColonHyphen arg_word:{(lp)})
                          spids: [146 150]
                        )
                      }
                  )
                spids: [143 151]
              )
            }
          spids: [142]
        )
      ]
      spids: [142]
    )
    (command.WhileUntil
      keyword: <KW_While while>
      cond: [(C {(getopts)} {(DQ ('cd:mn:o:st:'))} {(option)})]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {($ VSub_DollarName '$option')}
              arms: [
                (case_arm
                  pat_list: [{(c)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:symlink spids:[200])
                          op: Equal
                          rhs: {(DQ )}
                          spids: [200]
                        )
                      ]
                      spids: [200]
                    )
                  ]
                  spids: [193 194 203 16777215]
                )
                (case_arm
                  pat_list: [{(d)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:dest spids:[213])
                          op: Equal
                          rhs: {(DQ (${ VSub_Name OPTARG))}
                          spids: [213]
                        )
                      ]
                      spids: [213]
                    )
                  ]
                  spids: [206 207 219 16777215]
                )
                (case_arm
                  pat_list: [{(m)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:mailafter spids:[229])
                          op: Equal
                          rhs: {(DQ (-m))}
                          spids: [229]
                        )
                      ]
                      spids: [229]
                    )
                  ]
                  spids: [222 223 233 16777215]
                )
                (case_arm
                  pat_list: [{(n)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:ncopies spids:[243])
                          op: Equal
                          rhs: {(DQ ('-#') (${ VSub_Name OPTARG))}
                          spids: [243]
                        )
                      ]
                      spids: [243]
                    )
                  ]
                  spids: [236 237 250 16777215]
                )
                (case_arm
                  pat_list: [{(o)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [253 254 262 16777215]
                )
                (case_arm
                  pat_list: [{(s)}]
                  action: [(C {(Lit_Other ':')})]
                  spids: [265 266 274 16777215]
                )
                (case_arm
                  pat_list: [{(t)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:title spids:[284])
                          op: Equal
                          rhs: {(DQ (${ VSub_Name OPTARG))}
                          spids: [284]
                        )
                      ]
                      spids: [284]
                    )
                  ]
                  spids: [277 278 290 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(2)})]
                  spids: [293 294 303 16777215]
                )
              ]
              spids: [185 189 306]
            )
          ]
          spids: [182 308]
        )
    )
    (C {(shift)} 
      {
        (word_part.ArithSubPart
          anode: 
            (arith_expr.ArithBinary
              op_id: Arith_Minus
              left: (arith_expr.ArithWord w:{($ VSub_DollarName '$OPTIND')})
              right: (arith_expr.ArithWord w:{(Lit_Digits 1)})
            )
          spids: [313 320]
        )
      }
    )
    (C {(exec)} {(/usr/bin/lpr)} {(DQ (-P) (${ VSub_Name dest))} {(${ VSub_Name symlink)} 
      {(${ VSub_Name ncopies)} {(${ VSub_Name mailafter)} 
      {
        (word_part.BracedVarSub
          token: <VSub_Name title>
          suffix_op: 
            (suffix_op.StringUnary
              op_id: VTest_ColonPlus
              arg_word: {(-J) (DQ (${ VSub_Name title))}
            )
          spids: [346 355]
        )
      } {(DQ ($ VSub_At '$@'))}
    )
  ]
)