mirror of
https://github.com/yeongpin/cursor-free-vip.git
synced 2025-08-02 20:47:35 +08:00
update mac.sh
This commit is contained in:
parent
803fea0b71
commit
9f002970d8
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user