Skip to content

Instantly share code, notes, and snippets.

@nttuyen
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nttuyen/9303980 to your computer and use it in GitHub Desktop.
Save nttuyen/9303980 to your computer and use it in GitHub Desktop.
evn.sh
#!/bin/bash
ENV_DIR=~/.environments
ENV_HOME=$ENV_DIR
#Process JAVA with JDK
DEFAULT_JDK_VERSION=7
DEFAULT_JDK_HOME=$ENV_DIR/jdk
function setup_jdk() {
#Process old version of jdk
OLD_JAVA_HOME=$JAVA_HOME
OLD_PATH=$PATH
#Process JDK version from input
JDK_VERSION=$1
if [ "$JDK_VERSION" == "" ] ; then
JDK_VERSION=$DEFAULT_JDK_VERSION
fi
echo "Switch to jdk version $JDK_VERSION"
# Process JAVA_HOME directory
JAVA_HOME="$ENV_DIR/jdk$JDK_VERSION"
if [ ! -d "$JAVA_HOME" ] ; then
echo "JAVA_HOME directory is not exist: $JAVA_HOME"
echo "Use default JAVA_HOME directory: $DEFAULT_JDK_HOME"
JAVA_HOME=$DEFAULT_JDK_HOME
fi
if [ ! -d "$JAVA_HOME" ] ; then
echo "JAVA_HOME directory is not exist: $JAVA_HOME"
exit 0;
fi
if [ "$OLD_JAVA_HOME" != "" ] ; then
NEW_PATH="${PATH//$OLD_JAVA_HOME\/bin:/}"
export PATH=$NEW_PATH
fi
export JAVA_HOME
export PATH=$JAVA_HOME/bin:$PATH
echo "JAVA_HOME: $JAVA_HOME"
}
#call setup jdk
setup_jdk
alias jdk6='setup_jdk 6'
alias jdk7='setup_jdk 7'
alias jdk8='setup_jdk 8'
alias jdk9='setup_jdk 9'
alias jdk='setup_jdk'
#Process other environment param
ANDROID_HOME=$ENV_DIR/android-sdk
MAVEN_HOME=$ENV_DIR/maven
PLAY_FRAMEWORK_HOME=$ENV_DIR/playframework
export ENV_HOME ANDROID_HOME MAVEN_HOME PLAY_FRAMEWORK_HOME
#export PATH should be in the last
export PATH=$ENV_HOME/bin:$JAVA_HOME/bin:$MAVEN_HOME/bin:$PLAY_FRAMEWORK_HOME:$PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment