jitty-scripts/goup.sh

112 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
case ${1} in
--set-version)
version="${2}"
;;
*)
pkgname="go"
version="1.9.1"
distfile="https://storage.googleapis.com/golang/${pkgname}${version}.linux-amd64.tar.gz"
tmpdir="/tmp"
installdir="/usr/local"
checksum=d70eadefce8e160638a9a6db97f7192d8463069ab33138893ad3bf31b0650a79
# Colors
RED='\033[0;31m'
LRED="\033[1;31m"
BLUE="\033[0;34m"
LBLUE="\033[1;34m"
GREEN="\033[0;32m"
LGREEN="\033[1;32m"
YELLOW="\033[1;33m"
CYAN="\033[0;36m"
LCYAN="\033[1;36m"
PURPLE="\033[0;35m"
LPURPLE="\033[1;35m"
BWHITE="\e[1m"
NC='\033[0m' # No Color
fetch_(){
printf "${BWHITE}\nFetching file\n${NC}"
cd ${tmpdir}
if [ ! -f ${pkgname}${version}.linux-amd64.tar.gz ];then
wget ${distfile}
fi
printf "${BWHITE}\nVerifying checksum\n${NC}"
if [ ! -f checksum.txt ];then
echo "${checksum} ${pkgname}${version}.linux-amd64.tar.gz" >> checksum.txt
sha256sum -c checksum.txt
else
sha256sum -c checksum.txt
fi
if [ $? = 1 ];then
exit 0;
fi
}
extract-install_(){
cd ${tmpdir}
if [ ! -f ${pkgname}${version}.linux-amd64.tar.gz ];then
echo "No file found to extract"
else
printf "${BWHITE}\nExtracting and installing to:${NC} " && printf "${LCYAN}${installdir}\n${NC}"
printf "${LRED}\nAuthentication for root:${NC}\n" && su -c "tar -C ${installdir} -xzvf ${pkgname}${version}.linux-amd64.tar.gz"
fi
if [ ! -d /usr/local/go ];then
echo -e "\nCan not find ${pkgname} in ${installdir}\n"
exit 0;
else
echo -e "${LGREEN}\n${pkgname}-${version} has been installed to ${installdir}${NC}"
fi
}
add-path_(){
echo -e "\n1. Add gopath to ${HOME}/.profile\n"
echo -e "\n2. Add gopath to ${HOME}/.bashrc\n"
read choice
if [ "${choice}" = "1" ];then
echo 'export PATH=$PATH:/usr/local/go/bin' >> ${HOME}/.profile
elif [ "${choice}" = "2" ];then
printf "${BWHITE}\nAdding gopath to .bashrc${NC}"
echo 'export PATH=$PATH:/usr/local/go/bin' >> ${HOME}/.bashrc
catpath=$(cat ${HOME}/.bashrc | grep /usr/local/go/bin)
${catpath}
if [ $? = 1 ];then
printf "${BWHITE}\n\nRunning grep on .bashrc\n\n${NC}"
printf "${LCYAN}Grep Results:${NC} ${LGREEN}${catpath}\n\n${NC}"
printf "${YELLOW}Please edit: ${HOME}/.bashrc:${NC}\n\n"
printf "${YELLOW}Above are results for grep on .bashrc, if nothing is there then please add:\n\n${NC}${BWHITE}"
echo -e 'export PATH=$PATH:/usr/local/go/bin' && printf "\n\n${NC}"
else
printf "${LGREEN}\n\ngo has been added to your path in ${HOME}/.bashrc\n\n${NC}"
fi
fi
}
fetch_
extract-install_
add-path_
;;
--help | -h)
printf "${BWHITE}\nUseage ${0} [options] [arguments]\n\n${NC}"
printf "--set-version enter in an existing go version to download\n"
printf "--help, -help Display this help page"
;;
esac