-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
47 lines (38 loc) · 1.31 KB
/
install.sh
File metadata and controls
47 lines (38 loc) · 1.31 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
#!/bin/sh
get_latest_release() {
curl --silent "https://api.github.com/repos/$1/releases/latest" |
grep '"tag_name":' |
sed -E 's/.*"([^"]+)".*/\1/'
}
LATEST_RELEASE=$(get_latest_release "graphteon/luwak")
BIN_URL="https://github.com/graphteon/luwak/releases/download/${LATEST_RELEASE}"
BIN_OSX_X86="${BIN_URL}/luwak-macOS-latest"
BIN_LINUX_X86="${BIN_URL}/luwak-ubuntu-latest"
PATH_LUWAK_BIN="${HOME}/.luwak/bin"
if [[ ! -d "$PATH_LUWAK_BIN" ]]; then
mkdir -p $PATH_LUWAK_BIN
fi
if [[ $OSTYPE == 'darwin'* ]]; then
echo "${BIN_OSX_X86}"
curl -o "${PATH_LUWAK_BIN}/luwak" -L "${BIN_OSX_X86}"
chmod +x "${PATH_LUWAK_BIN}/luwak"
elif [[ $OSTYPE == 'linux-gnu' ]]; then
curl -o "${PATH_LUWAK_BIN}/luwak" -L "${BIN_LINUX_X86}"
chmod +x "${PATH_LUWAK_BIN}/luwak"
else
echo 'Not supported OS!'
exit 0
fi
if [ "/bin/zsh" == "$SHELL" ] || [ "/usr/bin/zsh" == "$SHELL" ]; then
PROFILE_NAME="${HOME}/.zshrc"
elif [ "/bin/bash" == "$SHELL" ] || [ "/usr/bin/bash" == "$SHELL" ]; then
PROFILE_NAME="${HOME}/.bashrc"
else
echo 'Add this environment to your shell config!'
echo 'export PATH="$PATH:$HOME/.luwak/bin"'
fi
IS_LUWAK_INSTALLED=$(grep -c ".luwak/bin" "$PROFILE_NAME")
if [ $IS_LUWAK_INSTALLED -eq 0 ]; then
echo 'export PATH="$PATH:$HOME/.luwak/bin"' >> $PROFILE_NAME
fi
echo "Done..."