-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
install
executable file
·44 lines (34 loc) · 1.32 KB
/
install
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
#!/bin/bash
BASHKIT_INSTALL=/usr/local/bashkit
BIN_FOLDER=/usr/local/bin
MESSAGE_INFO="bashkit is being installed to $BASHKIT_INSTALL"
echo $MESSAGE_INFO
echo -e "\x1B[90m${MESSAGE_INFO//?/=}\x1B[39m"
echo "Installation requires sudo permissions:"
if [ $EUID != 0 ] && ([ ! -O "$BIN_FOLDER" ] || [ ! -O "$BASHKIT_INSTALL/.." ]); then
echo sudo permissions required
SUDO_CMD="sudo"
fi
$SUDO_CMD bash <<EOF
error () {
echo -e "\x1B[31m\$*\x1B[39m" && exit 1
}
type git > /dev/null 2> /dev/null || error "git is required"
[ -e $BASHKIT_INSTALL ] && error "$BASHKIT_INSTALL is not empty"
echo "Installing now..."
git clone -q git://github.com/mafintosh/bashkit.git $BASHKIT_INSTALL 2> /dev/null || error "Installation failed. Are you online?"
ln -s $BIN_FOLDER $BASHKIT_INSTALL/bin
rm -f $BIN_FOLDER/bashkit
ln -s $BASHKIT_INSTALL/bashkit $BIN_FOLDER/bashkit
mkdir -p $BASHKIT_INSTALL/apps
EOF
[ $? != 0 ] && exit 1
BASH_PROFILE="$HOME/.bash_profile"
[ ! -e $BASH_PROFILE ] && BASH_PROFILE="$HOME/.bashrc"
if cat $BASH_PROFILE 2> /dev/null | grep "## bashkit installation ##" > /dev/null; then
: # already linked in rc
else
printf '\n## bashkit installation ##\n[ -e %s ] && . %s\n' $BASHKIT_INSTALL/bashrc $BASHKIT_INSTALL/bashrc >> $BASH_PROFILE
fi
printf "\033[1A\033[2K"
echo "Installation complete. Try running 'bashkit'"