Files
script/shortcuts/vm-permission-fixer-bootstrap.sh

34 lines
1.0 KiB
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_DIR="$(mktemp -d "${TMPDIR:-/tmp}/vm-permission-fixer.XXXXXX")"
TEMP="${TEMP_DIR}/vm-permission-fixer.sh"
cleanup() {
rm -rf "$TEMP_DIR"
}
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
/usr/bin/env bash "$TEMP" "$@"