df3e4b15db
新增 macOS 快捷指令自动化工具,包含虚拟机权限修复脚本(vm-permission-fixer.sh)及远程引导启动器(vm-permission-fixer-bootstrap.sh)。 - 在打开 Parallels Desktop 时,自动修复指定 .pvm 虚拟机包的所有权。 - 采用 macOS Keychain 安全存储和读取 sudo 密码,避免明文硬编码。 - 补充 shortcuts 模块相关的中英文说明文档,并同步更新项目主 README。
33 lines
999 B
Bash
Executable File
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" "$@"
|