Files
script/shortcuts/vm-permission-fixer-bootstrap.sh
T
Orion df3e4b15db feat(core): add vm permission fixer for macOS shortcuts
新增 macOS 快捷指令自动化工具,包含虚拟机权限修复脚本(vm-permission-fixer.sh)及远程引导启动器(vm-permission-fixer-bootstrap.sh)。

- 在打开 Parallels Desktop 时,自动修复指定 .pvm 虚拟机包的所有权。
- 采用 macOS Keychain 安全存储和读取 sudo 密码,避免明文硬编码。
- 补充 shortcuts 模块相关的中英文说明文档,并同步更新项目主 README。
2026-06-01 09:12:50 +08:00

33 lines
999 B
Bash
Executable File

#!/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" "$@"