(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:OSD)
          op: assign_op.Equal
          rhs: {(DQ ($ Id.VSub_Number '$1'))}
          spids: [3]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ ($ Id.VSub_Number '$1'))})
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:19)
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Usage ') ($ Id.VSub_Number '$0') (' osd number to remove'))})
            (command.ControlFlow token:(Token id:Id.ControlFlow_Exit val:exit span_id:33))
          ]
          spids: [8 21]
        )
      ]
    )
    (C {(sudo)} {(ceph)} {(osd)} {(crush)} {(remove)} {(osd.) (DQ ($ Id.VSub_DollarName '$OSD'))})
    (C {(sudo)} {(ceph)} {(auth)} {(del)} {(osd.) (DQ ($ Id.VSub_DollarName '$OSD'))})
    (C {(sudo)} {(ceph)} {(osd)} {(rm)} {(DQ ($ Id.VSub_DollarName '$OSD'))})
  ]
)