-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
install.sh
executable file
·55 lines (49 loc) · 1.67 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
#!/usr/bin/env bash
checkDependencies() {
local dependencies=("curl" "jq")
local missingDependencies=()
if [[ "$(uname)" == "Linux" ]]; then
if [[ -x "$(command -v apk)" ]]; then
# Alpine Linux
for dependency in "${dependencies[@]}"; do
if ! command -v "$dependency" > /dev/null 2>&1; then
missingDependencies+=("$dependency")
fi
done
if [ ${#missingDependencies[@]} -gt 0 ]; then
echo "Installing missing dependencies: ${missingDependencies[*]}"
apk add --no-cache ${missingDependencies[*]}
fi
elif [[ -x "$(command -v apt-get)" ]]; then
# Ubuntu, Debian
for dependency in "${dependencies[@]}"; do
if ! dpkg -s "$dependency" > /dev/null 2>&1; then
missingDependencies+=("$dependency")
fi
done
if [ ${#missingDependencies[@]} -gt 0 ]; then
echo "Installing missing dependencies: ${missingDependencies[*]}"
apt-get update
apt-get install -y ${missingDependencies[*]}
fi
elif [[ -x "$(command -v yum)" ]]; then
# CentOS, Red Hat
for dependency in "${dependencies[@]}"; do
if ! rpm -q "$dependency" > /dev/null 2>&1; then
missingDependencies+=("$dependency")
fi
done
if [ ${#missingDependencies[@]} -gt 0 ]; then
echo "Installing missing dependencies: ${missingDependencies[*]}"
yum install -y ${missingDependencies[*]}
fi
else
echo "Unsupported package manager. Please install 'curl' and 'jq' manually."
exit 1
fi
else
echo "Unsupported operating system. Please install 'curl' and 'jq' manually."
exit 1
fi
}
checkDependencies