(command.CommandList
  children: [
    (C {(Id.KW_Set set)} {(-e)} {(-x)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:action)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number '$1')}
          spids: [32]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobDEqual
                      left: {($ Id.VSub_DollarName '$action')}
                      right: {(DQ (build))}
                    )
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:49)
            )
          ]
          action: [
            (C {(cd)} {(/io)})
            (command.ForEach
              iter_name: PYBIN
              iter_words: [{(/opt/python/) (Id.Lit_Star '*') (/bin)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(DQ ($ Id.VSub_DollarName '$PYBIN') (/pip))} {(install)} {(-r)} 
                      {(requirements/wheel.pip)}
                    )
                    (C {(DQ ($ Id.VSub_DollarName '$PYBIN') (/python))} {(setup.py)} {(bdist_wheel)} 
                      {(-d)} {(word_part.TildeSub token:(Token id:Id.Lit_TildeLike val:'~' span_id:100)) (/wheelhouse/)}
                    )
                  ]
                )
            )
            (C {(cd)} {(word_part.TildeSub token:(Token id:Id.Lit_TildeLike val:'~' span_id:109))})
            (command.ForEach
              iter_name: whl
              iter_words: [{(wheelhouse/) (Id.Lit_Star '*') (.whl)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (C {(auditwheel)} {(repair)} {(DQ ($ Id.VSub_DollarName '$whl'))} {(-w)} {(/io/dist/)})
                  ]
                )
            )
          ]
          spids: [36 51]
        )
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobDEqual
                      left: {($ Id.VSub_DollarName '$action')}
                      right: {(DQ (test))}
                    )
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:160)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:TOXBIN)
                  op: assign_op.Equal
                  rhs: {(/opt/python/cp27-cp27m/bin)}
                  spids: [169]
                )
              ]
            )
            (C {(DQ ($ Id.VSub_DollarName '$TOXBIN') (/pip))} {(install)} {(-r)} 
              {(/io/requirements/ci.pip)}
            )
            (command.ForEach
              iter_name: PYBIN
              iter_words: [{(/opt/python/) (Id.Lit_Star '*') (/bin/)}]
              do_arg_iter: F
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:PYNAME)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:201)
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(DQ ($ Id.VSub_DollarName '$PYBIN') (/python))} {(-c)} 
                                        {
                                          (DQ 
                                            (
"import sys; print('python{0[0]}.{0[1]}'.format(sys.version_info))"
                                            )
                                          )
                                        }
                                      )
                                    ]
                                  )
                              )
                            }
                          spids: [200]
                        )
                      ]
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:TOXENV)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:216)
                                command_list: 
                                  (command.CommandList
                                    children: [
                                      (C {(DQ ($ Id.VSub_DollarName '$PYBIN') (/python))} {(-c)} 
                                        {
                                          (DQ 
                                            (
"import sys; print('py{0[0]}{0[1]}'.format(sys.version_info))"
                                            )
                                          )
                                        }
                                      )
                                    ]
                                  )
                              )
                            }
                          spids: [215]
                        )
                      ]
                    )
                    (C {(ln)} {(-s)} 
                      {(DQ ($ Id.VSub_DollarName '$PYBIN') (/) ($ Id.VSub_DollarName '$PYNAME'))} {(/usr/local/bin/) ($ Id.VSub_DollarName '$PYNAME')}
                    )
                    (C {(DQ ($ Id.VSub_DollarName '$TOXBIN') (/tox))} {(-e)} 
                      {($ Id.VSub_DollarName '$TOXENV')}
                    )
                    (C {(rm)} {(-f)} {(/usr/local/bin/) ($ Id.VSub_DollarName '$PYNAME')})
                  ]
                )
            )
          ]
          spids: [147 162]
        )
      ]
      else_action: [(C {(echo)} {(DQ ('Need an action to perform!'))})]
    )
  ]
)