update mac.sh

This commit is contained in:
yeongpin 2025-01-14 15:49:18 +08:00
parent 803fea0b71
commit 9f002970d8

View File

@ -22,11 +22,17 @@ EOF
echo -e "${NC}" echo -e "${NC}"
} }
# 檢查是否為 root 用戶 # 获取下载文件夹路径
check_root() { get_downloads_dir() {
if [ "$EUID" -ne 0 ]; then if [[ "$(uname)" == "Darwin" ]]; then
echo -e "${RED}❌ 錯誤: 請使用 sudo 運行此腳本${NC}" echo "$HOME/Downloads"
exit 1 else
if [ -f "$HOME/.config/user-dirs.dirs" ]; then
. "$HOME/.config/user-dirs.dirs"
echo "${XDG_DOWNLOAD_DIR:-$HOME/Downloads}"
else
echo "$HOME/Downloads"
fi
fi fi
} }
@ -53,54 +59,29 @@ detect_os() {
fi fi
} }
# 創建臨時目錄
create_temp_dir() {
TMP_DIR=$(mktemp -d)
trap 'rm -rf "$TMP_DIR"' EXIT
}
# 下載並安裝 # 下載並安裝
install_cursor_free_vip() { install_cursor_free_vip() {
local install_dir="/usr/local/bin" local downloads_dir=$(get_downloads_dir)
local binary_name="CursorFreeVIP_${VERSION}_${OS}" local binary_name="CursorFreeVIP_${VERSION}_${OS}"
local binary_path="${install_dir}/cursor-free-vip" local binary_path="${downloads_dir}/cursor-free-vip"
local download_url="https://github.com/yeongpin/cursor-free-vip/releases/download/v${VERSION}/${binary_name}" local download_url="https://github.com/yeongpin/cursor-free-vip/releases/download/v${VERSION}/${binary_name}"
echo -e "${CYAN} 正在下載...${NC}" echo -e "${CYAN} 正在下載${downloads_dir}...${NC}"
if ! curl -L -o "${TMP_DIR}/${binary_name}" "$download_url"; then if ! curl -L -o "${binary_path}" "$download_url"; then
echo -e "${RED}❌ 下載失敗${NC}" echo -e "${RED}❌ 下載失敗${NC}"
exit 1 exit 1
fi fi
echo -e "${CYAN} 正在安裝...${NC}" echo -e "${CYAN} 正在設置執行權限...${NC}"
chmod +x "${TMP_DIR}/${binary_name}" chmod +x "${binary_path}"
mv "${TMP_DIR}/${binary_name}" "$binary_path"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
echo -e "${GREEN}✅ 安裝完成!${NC}" echo -e "${GREEN}✅ 安裝完成!${NC}"
echo -e "${CYAN} 程序已下載到: ${binary_path}${NC}"
echo -e "${CYAN} 正在啟動程序...${NC}"
# 确保有执行权限 # 直接运行程序
chmod +x "$binary_path" "${binary_path}"
# 获取实际用户
REAL_USER=$SUDO_USER
if [ -z "$REAL_USER" ]; then
REAL_USER=$(whoami)
fi
# 修改所有权
chown $REAL_USER "$binary_path"
echo -e "${CYAN} 正在以普通用戶身份啟動程序...${NC}"
if [[ "$(uname)" == "Darwin" ]]; then
# macOS: 使用 sudo -u 并保持环境变量
HOME_DIR=$(eval echo ~$REAL_USER)
sudo -u $REAL_USER HOME=$HOME_DIR "$binary_path"
else
# Linux
su - $REAL_USER -c "$binary_path"
fi
else else
echo -e "${RED}❌ 安裝失敗${NC}" echo -e "${RED}❌ 安裝失敗${NC}"
exit 1 exit 1
@ -110,10 +91,8 @@ install_cursor_free_vip() {
# 主程序 # 主程序
main() { main() {
print_logo print_logo
check_root
get_latest_version get_latest_version
detect_os detect_os
create_temp_dir
install_cursor_free_vip install_cursor_free_vip
} }