#!/usr/bin/env bash # VM Permission Fixer bootstrap # 作用:下载远程主脚本、执行、清理临时文件。适合放在快捷指令 App 自动化里。 set -euo pipefail REMOTE="${VM_FIXER_REMOTE:-https://git.orionc.me/orion/script/raw/branch/main/shortcuts/vm-permission-fixer.sh}" TEMP="$(mktemp "${TMPDIR:-/tmp}/vm-permission-fixer.XXXXXX.sh")" cleanup() { rm -f "$TEMP" } trap cleanup EXIT INT TERM PATH="/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin" export PATH curl -f -sSL "$REMOTE" -o "$TEMP" chmod 700 "$TEMP" if [[ -n "${VM_FIXER_SHA256:-}" ]]; then actual_sha256="$(shasum -a 256 "$TEMP")" actual_sha256="${actual_sha256%% *}" if [[ "$actual_sha256" != "$VM_FIXER_SHA256" ]]; then echo "远程脚本 SHA256 不匹配,已停止执行。" >&2 echo "Expected: $VM_FIXER_SHA256" >&2 echo "Actual: $actual_sha256" >&2 exit 1 fi fi exec /usr/bin/env bash "$TEMP" "$@"