This repository was archived by the owner on Oct 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathinstall.sh
More file actions
executable file
·66 lines (50 loc) · 1.38 KB
/
install.sh
File metadata and controls
executable file
·66 lines (50 loc) · 1.38 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
#!/bin/bash
set -e
REPO="gptscript-ai/knowledge"
INSTALL_DIR="/usr/local/bin"
# Function to determine the OS and architecture
get_os_arch() {
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
case $ARCH in
x86_64)
ARCH="amd64"
;;
aarch64)
ARCH="arm64"
;;
arm64)
ARCH="arm64"
;;
*)
echo "Unsupported architecture: $ARCH"
exit 1
;;
esac
echo "${OS}-${ARCH}"
}
# Function to download the latest release
download_latest_release() {
OS_ARCH=$1
LATEST_RELEASE_URL="https://api.github.com/repos/$REPO/releases/latest"
DOWNLOAD_URL=$(curl -s $LATEST_RELEASE_URL | grep "browser_download_url.*$OS_ARCH" | cut -d '"' -f 4)
if [[ -z "$DOWNLOAD_URL" ]]; then
echo "No binary found for $OS_ARCH"
exit 1
fi
TEMP_DIR=$(mktemp -d)
TEMP_FILE="$TEMP_DIR/knowledge"
echo "Downloading $DOWNLOAD_URL..."
curl -sL "$DOWNLOAD_URL" -o "$TEMP_FILE"
chmod +x $TEMP_FILE
mv $TEMP_FILE "$INSTALL_DIR/knowledge"
rm -rf "$TEMP_DIR"
echo "Installed knowledge to $INSTALL_DIR/knowledge"
}
# Ensure the script is run as root
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root. Please run with sudo."
exit 1
fi
OS_ARCH=$(get_os_arch)
download_latest_release "$OS_ARCH"