zoukankan      html  css  js  c++  java
  • 【Linux_Shell 脚本编程学习笔记五、Oracle JDK1.8 安装shell 脚本】

    脚本使用说明:

      首先在脚本的同级目录下有个 jdk的安装包

      脚本和安装包必须在同级目录下才能够安装(脚本没有优化,还可以使用  wget  从网上下载指定版本的  jdk 安装包)

      

    #!/bin/sh
    ##############################################
    #
    #       安装Oracle jdk
    #        Author:左岩
    #        Date: 2019-07-25
    #
    ##############################################
    
    # 卸载系统原带的OpenJDK
    uninstall_openjdk(){
        # 查询系统上都安装了哪些openjdk的安装包
        rpm -qa|grep java | awk '{cmd="rpm -e --nodeps "$0;system(cmd);print "正在卸载"$0"..."}'
        if [ $(ps -ef|grep java|wc -l) -eq 0 ];then
            echo '卸载openjdk完成'
        fi
    
    }
    
    
    # 检测是系统是否有OpenJDK
    check_openjdk()
    {
        java_install=$(rpm -qa|grep java |wc -l)
        echo $java_install
        if [ "$java_install" -eq "0" ]
            then
              echo '系统纯净,无OpenJDK 准备执行安装!'     
        else
               echo '检测到系统有OPENJDk... 正准备执行卸载!'
               uninstall_openjdk
        fi
    
        # 解压JDK 配置环境变量
    }
    
    install_jdk(){
    
             echo '正在解压jdk.............'
            # 执行配置JDK 
            file_name=$(find . -name "jdk-*.tar.gz")
            # 检查目标文件夹是否存在如果不存在创建该目录
            [ -d /opt/module ]||{
    
                mkdir -p /opt/module
                echo '创建文件夹成功!'
            }
            tar -zxvf $file_name -C /opt/module
            # 配置环境变量  
                echo "#java jdk" >> /etc/profile
                echo "export JAVA_HOME=/opt/module/jdk1.8.0_65" >> /etc/profile
                echo 'export JRE_HOME=${JAVA_HOME}/jre' >> /etc/profile
                echo 'export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib' >> /etc/profile
                echo 'export PATH=${JAVA_HOME}/bin:$PATH' >> /etc/profile
                source /etc/profile > /dev/null 2>&1
                echo "jdk 安装完毕!"
                echo;
                echo;
                echo "请执行以下命令以使jdk环境生效"
                echo;
                echo;
                echo "source /etc/profile"
                echo;
                echo;
    
    }
    
    check_openjdk
    install_jdk
  • 相关阅读:
    HDU4289(KB11-I 最小割)
    Qt5.编译错误.error: C2338: The slot requires more arguments than the signal provides.
    Winsock.简单UDP
    Winsock.简单TCP
    vs2015.无法运行rc.exe
    ffmpeg.编译(20191129)
    VC.DNS解析(winsock)
    vs.Debug.vector迭代器报错(_ITERATOR_DEBUG_LEVEL)
    智能指针.Qt测试
    Qt598x64vs2017.跨线程传递std::string
  • 原文地址:https://www.cnblogs.com/kangxinxin/p/11244558.html
Copyright © 2011-2022 走看看