-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall.sh
executable file
·48 lines (37 loc) · 1.59 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
#!/bin/bash
echo "Checking that python3 and pip are installed."
if ! [ -x "$( command -v python3 )" ]; then
echo "Error: Python3 not installed."
exit 1
fi
if ! [ -x "$( command -v pip3 || command -v pip )" ]; then
echo "Error: pip not installed."
exit 1
fi
unset FUNGRAMSPATH
cd "$(dirname "$0")"
FUNGRAMSPATH="$(pwd)"
res="$(python3 -m pip freeze | grep -oFwf requirements.txt | awk 'BEGIN { ORS="|" } { print $0 }')"
res="(${res::-1})"
missing_installs="$(grep -vE "${res}" requirements.txt | wc -l)"
if [[ $missing_installs != 0 ]]; then
python3 -m pip install -r "${FUNGRAMSPATH}/requirements.txt"
fi
BASH_ALIASES_PATH="${HOME}/.bash_aliases"
echo "Setting up aliases..."
if ! [ -e $BASH_ALIASES_PATH ]; then
touch $BASH_ALIASES_PATH
fi
if [[ -z $FGRMS ]] || [[ $FRGMS != $FUNGRAMSPATH ]]; then
grep -q "${BASH_ALIASES_PATH}" -e "export FGRMS=" && [[ "$?" = 0 ]] && sed -ir 's/^export FGRMS=.*$//' "${BASH_ALIASES_PATH}"
echo "export FGRMS='${FUNGRAMSPATH}'" >> $BASH_ALIASES_PATH
fi
if [[ -z $FGRMSHELL ]] || [[ $FGRMSHELL != "${FUNGRAMSPATH}/fun_shell.py" ]]; then
grep -q "${BASH_ALIASES_PATH}" -e "export FGRMSHELL=" && [[ "$?" = 0 ]] && sed -ir 's/^export FGRMSHELL=.*$//' "${BASH_ALIASES_PATH}"
echo "export FGRMSHELL='${FUNGRAMSPATH}/fun_shell.py'" >> $BASH_ALIASES_PATH
fi
grep -q "${BASH_ALIASES_PATH}" -e "alias fungrams=" && [[ "$?" = 0 ]] && sed -ir 's/^alias fungrams=.*$//' "${BASH_ALIASES_PATH}"
echo 'alias fungrams="python3 $FGRMSHELL"' >> $BASH_ALIASES_PATH
source $BASH_ALIASES_PATH
echo "Done! Restart your shell and then try running:"
echo "fungrams -h"