(command.CommandList
  children: [
    (C {<set>} {<-e>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:PATH)
          op: assign_op.Equal
          rhs: 
            {<'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/sbin'> <Id.Lit_Colon ':'> 
              <'/usr/sbin'>
            }
          spids: [39]
        )
      ]
    )
    (C {<export>} {<PATH>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '$#')} {<-ne>} {<2>} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'make-memstick.sh /path/to/directory /path/to/image/file'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [53 66]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {(${ Id.VSub_Number 1)} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ (${ Id.VSub_Number 1) <' must be a directory'>)})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [83 98]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-e>} {(${ Id.VSub_Number 2)} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'won\'t overwrite '> (${ Id.VSub_Number 2))})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [118 131]
        )
      ]
    )
    (command.Simple
      words: [{<echo>} {(SQ <'/dev/ufs/FreeBSD_Install / ufs ro,noatime 1 1'>)}]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {(${ Id.VSub_Number 1) <'/etc/fstab'>}
        )
      ]
      do_fork: T
    )
    (command.Simple
      words: [{<echo>} {(SQ <'root_rw_mount="NO"'>)}]
      redirects: [
        (redir
          op: <Id.Redir_Great '>'>
          loc: (redir_loc.Fd fd:1)
          arg: {(${ Id.VSub_Number 1) <'/etc/rc.conf.local'>}
        )
      ]
      do_fork: T
    )
    (C {<makefs>} {<-B>} {<little>} {<-o>} {<Id.Lit_VarLike 'label='> <FreeBSD_Install>} {<-o>} 
      {<Id.Lit_VarLike 'version='> <2>} {(${ Id.VSub_Number 2) <.part>} {(${ Id.VSub_Number 1)}
    )
    (C {<rm>} {(${ Id.VSub_Number 1) <'/etc/fstab'>})
    (C {<rm>} {(${ Id.VSub_Number 1) <'/etc/rc.conf.local'>})
    (C {<mkimg>} {<-s>} {<gpt>} {<-b>} {(${ Id.VSub_Number 1) <'/boot/pmbr'>} {<-p>} 
      {<efi> <Id.Lit_Colon ':'> <Id.Lit_Equals '='> (${ Id.VSub_Number 1) <'/boot/boot1.efifat'>} {<-p>} {<freebsd-boot> <Id.Lit_Colon ':'> <Id.Lit_Equals '='> (${ Id.VSub_Number 1) <'/boot/gptboot'>} 
      {<-p>} {<freebsd-ufs> <Id.Lit_Colon ':'> <Id.Lit_Equals '='> (${ Id.VSub_Number 2) <.part>} {<-p>} 
      {<freebsd-swap> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1M>} {<-o>} {(${ Id.VSub_Number 2)}
    )
    (C {<rm>} {(${ Id.VSub_Number 2) <.part>})
  ]
)