-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
67 lines (56 loc) · 1.65 KB
/
install.sh
File metadata and controls
67 lines (56 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/usr/bin/env bash
set -e
# -----------------------
# 自动安装 urlcheck 最新版本
# -----------------------
# 系统检测
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
# OS 映射
case "$OS" in
darwin) OS="macos" ;;
linux) OS="linux" ;;
msys*|mingw*|cygwin*) OS="windows" ;;
*) echo "不支持的系统: $OS"; exit 1 ;;
esac
# ARCH 映射
case "$ARCH" in
x86_64) ARCH="amd64" ;;
arm64|aarch64) ARCH="arm64" ;;
*) echo "不支持的架构: $ARCH"; exit 1 ;;
esac
# 获取最新版本号
LATEST=$(curl -sI https://github.com/bynow2code/urlcheck/releases/latest \
| grep -i location \
| awk -F/ '{print $NF}' | tr -d '\r\n')
if [ -z "$LATEST" ]; then
echo "获取最新版本失败!"
exit 1
fi
# 构建下载文件名
FILENAME="urlcheck-${LATEST}-${OS}-${ARCH}"
# Windows 二进制加 .exe
if [ "$OS" = "windows" ]; then
FILENAME="${FILENAME}.exe"
fi
URL="https://github.com/bynow2code/urlcheck/releases/download/${LATEST}/${FILENAME}"
echo "安装 urlcheck ${LATEST}..."
echo "操作系统: $OS, 架构: $ARCH"
echo "下载链接: $URL"
# 下载临时文件
TMPFILE=$(mktemp)
curl -fL "$URL" -o "$TMPFILE"
# macOS / Linux: chmod + 移动到 /usr/local/bin
if [ "$OS" = "macos" ] || [ "$OS" = "linux" ]; then
chmod +x "$TMPFILE"
sudo mv "$TMPFILE" /usr/local/bin/urlcheck
echo "安装完成: /usr/local/bin/urlcheck"
urlcheck -h
else
# Windows: 放到用户 bin 目录
TARGET="$HOME/bin/urlcheck.exe"
mkdir -p "$(dirname "$TARGET")"
mv "$TMPFILE" "$TARGET"
echo "安装完成: $TARGET"
echo "请确保 $HOME/bin 在 PATH 中,然后运行: urlcheck.exe -v"
fi