1
0

jdk-1.8.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/bash
  2. # Author: yeho <lj2007331 AT gmail.com>
  3. # BLOG: https://blog.linuxeye.com
  4. #
  5. # Notes: OneinStack for CentOS/RadHat 5+ Debian 6+ and Ubuntu 12+
  6. #
  7. # Project home page:
  8. # https://oneinstack.com
  9. # https://github.com/lj2007331/oneinstack
  10. Install-JDK-1-8() {
  11. cd $oneinstack_dir/src
  12. JDK_FILE="jdk-`echo $jdk_8_version | awk -F. '{print $2}'`u`echo $jdk_8_version | awk -F_ '{print $NF}'`-linux-$SYS_BIG_FLAG.tar.gz"
  13. JAVA_dir=/usr/java
  14. JDK_NAME="jdk$jdk_8_version"
  15. JDK_PATH=$JAVA_dir/$JDK_NAME
  16. src_url=http://mirrors.linuxeye.com/jdk/$JDK_FILE && Download_src
  17. [ "$OS" == 'CentOS' ] && [ -n "`rpm -qa | grep jdk`" ] && rpm -e `rpm -qa | grep jdk`
  18. tar xzf $JDK_FILE
  19. if [ -d "$JDK_NAME" ];then
  20. rm -rf $JAVA_dir; mkdir -p $JAVA_dir
  21. mv $JDK_NAME $JAVA_dir
  22. [ -z "`grep ^'export JAVA_HOME=' /etc/profile`" ] && { [ -z "`grep ^'export PATH=' /etc/profile`" ] && echo "export JAVA_HOME=$JDK_PATH" >> /etc/profile || sed -i "s@^export PATH=@export JAVA_HOME=$JDK_PATH\nexport PATH=@" /etc/profile; } || sed -i "s@^export JAVA_HOME=.*@export JAVA_HOME=$JDK_PATH@" /etc/profile
  23. [ -z "`grep ^'export CLASSPATH=' /etc/profile`" ] && sed -i "s@export JAVA_HOME=\(.*\)@export JAVA_HOME=\1\nexport CLASSPATH=\$JAVA_HOME/lib/tools.jar:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib@" /etc/profile
  24. [ -n "`grep ^'export PATH=' /etc/profile`" -a -z "`grep '$JAVA_HOME/bin' /etc/profile`" ] && sed -i "s@^export PATH=\(.*\)@export PATH=\$JAVA_HOME/bin:\1@" /etc/profile
  25. [ -z "`grep ^'export PATH=' /etc/profile | grep '$JAVA_HOME/bin'`" ] && echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
  26. . /etc/profile
  27. echo "${CSUCCESS}$JDK_NAME install successfully! ${CEND}"
  28. else
  29. rm -rf $JAVA_dir
  30. echo "${CFAILURE}JDK install failed, Please contact the author! ${CEND}"
  31. kill -9 $$
  32. fi
  33. cd ..
  34. }