(command.CommandList
  children: [
    (command.Simple blame_tok:<set> more_env:[] words:[{<set>} {<-e>}] redirects:[] do_fork:T)
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-x>}
                        {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/bin/'> 
                          (${ Id.VSub_Name INSTALLKERNEL)
                        }
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <exec>
                  more_env: []
                  words: [
                    {<exec>}
                    {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/bin/'> 
                      (${ Id.VSub_Name INSTALLKERNEL)
                    }
                    {(DQ ($ Id.VSub_At '@'))}
                  ]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [70 85]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-x>}
                        {<'/sbin/'> (${ Id.VSub_Name INSTALLKERNEL)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <exec>
                  more_env: []
                  words: [{<exec>} {<'/sbin/'> (${ Id.VSub_Name INSTALLKERNEL)} {(DQ ($ Id.VSub_At '@'))}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
          ]
          spids: [102 116]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'image_name='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'image_name='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'image_name='> name:image_name)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_Backtick '`'>
                child: 
                  (command.Simple
                    blame_tok: <basename>
                    more_env: []
                    words: [{<basename>} {($ Id.VSub_Number 2)}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Backtick_Right '`'>
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-f>}
                        {($ Id.VSub_Number 4) <'/'> ($ Id.VSub_DollarName image_name)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <mv>
              more_env: []
              words: [
                {<mv>}
                {($ Id.VSub_Number 4) <'/'> ($ Id.VSub_DollarName image_name)}
                {($ Id.VSub_Number 4) <'/'> ($ Id.VSub_DollarName image_name) <.old>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          spids: [150 163]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {<-f>}
                        {($ Id.VSub_Number 4) <'/System.map'>}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <mv>
              more_env: []
              words: [
                {<mv>}
                {($ Id.VSub_Number 4) <'/System.map'>}
                {($ Id.VSub_Number 4) <'/System.old'>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          spids: [180 192]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <cat>
      more_env: []
      words: [{<cat>} {($ Id.VSub_Number 2)}]
      redirects: [
        (Redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {($ Id.VSub_Number 4) <'/'> ($ Id.VSub_DollarName image_name)}
        )
      ]
      do_fork: T
    )
    (command.Simple
      blame_tok: <cp>
      more_env: []
      words: [{<cp>} {($ Id.VSub_Number 3)} {($ Id.VSub_Number 4) <'/System.map'>}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'path='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'path='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'path='> name:path)
          op: assign_op.Equal
          rhs: {($ Id.VSub_Number 4)}
        )
      ]
      redirects: []
    )
    (command.Simple blame_tok:<shift> more_env:[] words:[{<shift>} {<4>}] redirects:[] do_fork:T)
    (command.Sentence
      child: 
        (command.WhileUntil
          keyword: <Id.KW_While while>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {($ Id.VSub_Pound '#')}
                        {<-ne>}
                        {<0>}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          body: 
            (command.DoGroup
              left: <Id.KW_Do do>
              children: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'image_name='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'image_name='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'image_name='> name:image_name)
                      op: assign_op.Equal
                      rhs: 
                        {
                          (CommandSub
                            left_token: <Id.Left_Backtick '`'>
                            child: 
                              (command.Simple
                                blame_tok: <basename>
                                more_env: []
                                words: [{<basename>} {($ Id.VSub_Number 1)}]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Backtick_Right '`'>
                          )
                        }
                    )
                  ]
                  redirects: []
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.Simple
                                  blame_tok: <Id.Lit_LBracket '['>
                                  more_env: []
                                  words: [
                                    {<Id.Lit_LBracket '['>}
                                    {<-f>}
                                    {($ Id.VSub_DollarName path) <'/'> 
                                      ($ Id.VSub_DollarName image_name)
                                    }
                                    {<Id.Lit_RBracket ']'>}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.Simple
                          blame_tok: <mv>
                          more_env: []
                          words: [
                            {<mv>}
                            {($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName image_name)}
                            {($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName image_name) <.old>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      spids: [260 273]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
                (command.Simple
                  blame_tok: <cat>
                  more_env: []
                  words: [{<cat>} {($ Id.VSub_Number 1)}]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {($ Id.VSub_DollarName path) <'/'> ($ Id.VSub_DollarName image_name)}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <shift>
                  more_env: []
                  words: [{<shift>}]
                  redirects: []
                  do_fork: T
                )
              ]
              right: <Id.KW_Done done>
            )
          redirects: []
        )
      terminator: <Id.Op_Semi _>
    )
  ]
)