-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
55 lines (51 loc) · 1.6 KB
/
install.sh
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
#!/bin/bash
# 检测操作系统类型
unameOut="$(uname -s)"
case "${unameOut}" in
Linux*) machine=Linux;;
Darwin*) machine=Mac;;
CYGWIN*) machine=Cygwin;;
MINGW*) machine=MinGw;;
*) machine="UNKNOWN:${unameOut}"
esac
# 检测机器架构
machineArch="$(uname -m)"
case "${machineArch}" in
armv6l) arch=arm64;;
armv7l) arch=arm64;;
aarch64) arch=arm64;;
x86) arch=x86_64;;
x86_64) arch=x86_64;;
i386) arch=i386;;
*) arch="UNKNOWN:${machineArch}"
esac
# 根据操作系统和架构选择对应的下载链接
fileName=""
case "${machine}" in
Linux)
case "${arch}" in
arm64) fileName="hostker-ddns_Linux_arm64.tar.gz";;
x86_64) fileName="hostker-ddns_Linux_x86_64.tar.gz";;
i386) fileName="hostker-ddns_Linux_i386.tar.gz";;
*) echo "不支持的架构:${arch}" && exit 1;;
esac
;;
Mac)
case "${arch}" in
arm64) fileName="hostker-ddns_Darwin_arm64.tar.gz";;
x86_64) fileName="hostker-ddns_Darwin_x86_64.tar.gz";;
*) echo "不支持的架构:${arch}" && exit 1;;
esac
;;
*)
echo "不支持的操作系统:${machine}" && exit 1;;
esac
# 下载安装包
echo "正在下载安装包...${fileName}"
mkdir -p tmp
curl -sL "https://github.com/csvwolf/hostker-ddns/releases/latest/download/${fileName}" | tar -xzf - -C ./tmp
chmod +x tmp/hostker-ddns # 赋予可执行权限
mv ./tmp/hostker-ddns /usr/local/bin/
rm -rf tmp
# 完成安装
echo "安装完成!"