2
0
Fork 0
mirror of https://github.com/alexanderepstein/Bash-Snippets synced 2018-11-08 02:59:35 +01:00
Bash-Snippets/install.sh
2017-07-22 10:04:06 -04:00

86 lines
2.4 KiB
Bash
Executable file

#!/usr/bin/env bash
# Author: Alexander Epstein https://github.com/alexanderepstein
currentVersion="1.14.2"
declare -a tools=(currency stocks weather crypt movies taste short geo cheat ytview cloudup qrify siteciphers todo)
usedGithubInstallMethod="0"
askInstall()
{
echo -n "Do you wish to install $1 [Y/n]: "
read -r answer
if [[ "$answer" == "Y" || "$answer" == "y" ]] ;then
cd $1 || return 1
echo -n "Installing $1: "
chmod a+x $1
cp $1 /usr/local/bin > /dev/null 2>&1 || { echo "Failure"; echo "Error copying file, try running install script as sudo"; exit 1; }
echo "Success"
cd .. || return 1
fi
}
updateTool()
{
if [[ -f /usr/local/bin/$1 ]];then
usedGithubInstallMethod="1"
cd $1 || return 1
echo -n "Installing $1: "
chmod a+x $1
cp $1 /usr/local/bin > /dev/null 2>&1 || { echo "Failure"; echo "Error copying file, try running install script as sudo"; exit 1; }
echo "Success"
cd .. || return 1
fi
}
singleInstall()
{
cd $1 || exit 1
echo -n "Installing $1: "
chmod a+x $1
cp $1 /usr/local/bin > /dev/null 2>&1 || { echo "Failure"; echo "Error copying file, try running install script as sudo"; exit 1; }
echo "Success"
cd .. || exit 1
}
copyManpage()
{
if [[ "$(uname)" == "Darwin" ]]; then manPath="/usr/local/share/man/man1"
else manPath="/usr/local/man/man1" ;fi
cp bash-snippets.1 $manPath 2>&1 || { echo "Failure"; echo "Error copying file, try running install script as sudo"; exit 1; }
}
if [[ $# == 0 ]]; then
for tool in "${tools[@]}"
do
askInstall $tool || exit 1
done
copyManpage || exit 1
elif [[ $1 == "update" ]]; then
echo "Updating scripts..."
for tool in "${tools[@]}"
do
updateTool $tool || exit 1
done
if [[ $usedGithubInstallMethod == "1" ]]; then copyManpage || exit 1
else { echo "It appears you have installed bash-snippets through a package manager, you must update it with the respective package manager."; exit 0; } ;fi
elif [[ $1 == "all" ]];then
for tool in "${tools[@]}"
do
singleInstall $tool || exit 1
done
copyManpage || exit 1
else
singleInstall $1 || exit 1
copyManpage || exit 1
fi
echo -n "( •_•)"
sleep .75
echo -n -e "\r( •_•)>⌐■-■"
sleep .75
echo -n -e "\r "
echo -e "\r(⌐■_■)"
sleep .5
echo "Bash Snippets version $currentVersion"
echo "https://github.com/alexanderepstein/Bash-Snippets"