♻️ refactor(shortcuts): 安全地在临时目录中创建临时脚本文件
This commit is contained in:
@@ -5,10 +5,11 @@
|
||||
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")"
|
||||
TEMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/vm-permission-fixer.XXXXXX")"
|
||||
TEMP="${TEMP_DIR}/vm-permission-fixer.sh"
|
||||
|
||||
cleanup() {
|
||||
rm -f "$TEMP"
|
||||
rm -rf "$TEMP_DIR"
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
@@ -29,4 +30,4 @@ if [[ -n "${VM_FIXER_SHA256:-}" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
exec /usr/bin/env bash "$TEMP" "$@"
|
||||
/usr/bin/env bash "$TEMP" "$@"
|
||||
|
||||
@@ -12,10 +12,11 @@ CURRENT_USER="$(id -un)"
|
||||
VM_PATH="${VM_FIXER_VM_PATH:-/Users/Shared/Parallels/VM/Windows 11/Windows 11.pvm}"
|
||||
LOG_FILE="${VM_FIXER_LOG_FILE:-/Users/${CURRENT_USER}/Library/Logs/vm_permission_fix.log}"
|
||||
KEYCHAIN_SERVICE="${VM_FIXER_KEYCHAIN_SERVICE:-vm-permission-fixer-sudo-password}"
|
||||
ASKPASS_TEMP="$(mktemp "${TMPDIR:-/tmp}/vm-permission-fixer-askpass.XXXXXX.sh")"
|
||||
ASKPASS_TEMP_DIR="$(mktemp -d "${TMPDIR:-/tmp}/vm-permission-fixer-askpass.XXXXXX")"
|
||||
ASKPASS_TEMP="${ASKPASS_TEMP_DIR}/askpass.sh"
|
||||
|
||||
cleanup() {
|
||||
rm -f "$ASKPASS_TEMP"
|
||||
rm -rf "$ASKPASS_TEMP_DIR"
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
|
||||
Reference in New Issue
Block a user