Skip to content

Instantly share code, notes, and snippets.

@hadisfr
Created April 1, 2020 19:09
Show Gist options
  • Save hadisfr/87d539e518f713945c136ece799f9d5e to your computer and use it in GitHub Desktop.
Save hadisfr/87d539e518f713945c136ece799f9d5e to your computer and use it in GitHub Desktop.
a script for installing jdk from tar file in Ubuntu
#!/usr/bin/env bash
if [[ $# != 1 ]]; then
echo -e "usage:\t$0 <url of Linux binary from https://jdk.java.net>"
exit 1
fi
if [ $EUID != 0 ]; then
sudo "$0" "$@"
exit $?
fi
JAVA_URL=$1
JAVA_TAR_NAME=${JAVA_URL/*\//}
JAVA_FULL_NAME=${JAVA_TAR_NAME/_bin.tar.gz/}
JAVA_NAME=${JAVA_FULL_NAME/_*/}
JAVA_NAME=${JAVA_NAME/open/}
JAVA_HOME_PREF=/opt/java
JAVA_HOME=$JAVA_HOME_PREF/$JAVA_NAME
TMP_DIR=/tmp/java
JAVA_PRIORITY=20${JAVA_NAME/*-/}
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
B="\033[1;4m"
NC="\033[0m"
echo -e "${YELLOW}${B}Intstalling Java${NC}"
echo -e "${YELLOW}version${NC}:\t"$JAVA_FULL_NAME
echo -e "JAVA_HOME${RED}=${NC}$JAVA_HOME"
echo ""
mkdir -p $TMP_DIR
pushd $TMP_DIR >/dev/null
[[ -f $JAVA_TAR_NAME ]] || curl -O $JAVA_URL
[[ -d $JAVA_HOME ]] || tar -xzvf $JAVA_TAR_NAME -C $JAVA_HOME_PREF
for bin in "java" "javac"; do
update-alternatives --install /usr/bin/${bin} ${bin} ${JAVA_HOME}/bin/${bin} ${JAVA_PRIORITY}
done
echo ""
echo -e "${GREEN}java${NC}"
java --version
echo -e "${GREEN}javac${NC}"
javac --version
echo -e "${GREEN}maven${NC}"
mvn --version
popd >/dev/null
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment