(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[56])]
      spids: [56]
    )
    (AndOr
      children: [
        (SimpleCommand
          words: [{(ip)} {(link)} {(show)} {(docker0)}]
          redirects: [
            (Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[67])
            (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[70])
          ]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:rc)
              op: Equal
              rhs: {(DQ ($ VSub_QMark "$?"))}
              spids: [75]
            )
          ]
          spids: [75]
        )
      ]
      op_id: Op_DPipe
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_eq
                      left: {(DQ ($ VSub_Name "$rc"))}
                      right: {(DQ (0))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(ip)} {(link)} {(set)} {(dev)} {(docker0)} {(down)})
            (C {(ip)} {(link)} {(delete)} {(docker0)})
          ]
          spids: [-1 97]
        )
      ]
      spids: [-1 121]
    )
  ]
)