diff --git a/scripts/pve.sh b/scripts/pve.sh index fc52e6d3..5630ed16 100644 --- a/scripts/pve.sh +++ b/scripts/pve.sh @@ -12,6 +12,7 @@ REPO="https://github.com/RROrg/rr" ONBOOT=1 # 开机启动,默认1 EFI=1 # 启用 UEFI 引导,默认1 BLTYPE="sata" # 引导盘类型, 支持 sata,usb,nvme 默认 sata +STORAGE="" # 存储,默认自动获取 NINEPPATH="" # 9p路径,默认空不添加 TAG="" # 镜像tag,默认自动获取 IMG="" # 本地镜像路径,默认空 @@ -22,6 +23,7 @@ usage() { echo " --onboot <0|1> Enable VM on boot, default 1 (enable)" echo " --efi <0|1> Enable UEFI boot, default 1 (enable)" echo " --bltype Bootloader disk type, default sata" + echo " --storage Storage name for images, default auto get" echo " --9ppath Set to /path/to/9p to mount 9p share" echo " --tag Image tag, download latest release if not set" echo " --img Local image path, use local image if set" @@ -51,6 +53,16 @@ while true; do echo "$BLTYPE" | grep -qvE '^(sata|usb|nvme)$' && BLTYPE="sata" shift 2 ;; + --storage) + STORAGE="$2" + [ -n "${STORAGE}" ] && pvesm status -content images | grep -qw "^${STORAGE}" || STORAGE="" + shift 2 + ;; + --9ppath) + NINEPPATH="$2" + [ -d "${NINEPPATH}" ] && NINEPPATH="$(realpath "${NINEPPATH}")" || NINEPPATH="" + shift 2 + ;; --tag) TAG="$2" [ "${TAG:0:1}" = "v" ] && TAG="${TAG:1}" @@ -62,12 +74,6 @@ while true; do [ -n "${IMG}" ] && IMG="$(realpath "${IMG}")" shift 2 ;; - --9ppath) - NINEPPATH="$2" - [ ! -d "${NINEPPATH}" ] && NINEPPATH="" - [ -z "${NINEPPATH}" ] || NINEPPATH="$(realpath "${NINEPPATH}")" - shift 2 - ;; --) shift break @@ -138,7 +144,7 @@ if [ $? -ne 0 ]; then fi # 获取 存储 -STORAGE=$(pvesm status -content images | awk 'NR>1 {print $1}' | grep local | tail -1) +[ -z "${STORAGE}" ] && STORAGE=$(pvesm status -content images | awk 'NR>1 {print $1}' | grep local | tail -1) if [ -z "${STORAGE}" ]; then echo "No storage for images" qm destroy ${VMID} --purge