nginx+tomcat+resin+jdk一鍵自動化安裝腳本(2--jdk安裝腳本)

#!/bin/bash
# this shell will be installed jdk*.tar.gz
#author: wangjiulong

#匹配後jdk版本信息,會存在tmp_jdk.txt文件中
jdk_pkg=`cat $tmp_jdk`
jdk_tar=`cat $tmp_jdk | awk -F.tar.gz '{print $1}'`
jdk_num=`cat $tmp_jdk | awk -F.tar.gz '{print $1}' | grep -F- '{print $2}'`

datef() {
        date "+%Y/%m/%d %H:%M";
}

#custom log
print_log(){
        if [[ -d $log_dir  ]];then
                echo "[$(datef)]  $1" >> $log
        else
                echo "[$(datef)] log path does not exist,created first" >>$log
                mkdir -p $log_dir
                echo "[$(datef)]  $1" >> $log
        fi
}

#檢查緩存文件tmp_jdk.txt是否存在,不存在shell退出。
#check tmp file 
check_tmp_file(){

        cd $pwd_dir
        if [ ! -f $tmp_jdk ];then
                print_log "緩存文件不存在,shell即將退出"
                exit
        else
                check_install_jdk
        fi
}


check_install_jdk(){
        jdk_path=/data/java
        java_version=`java -version > $tmp_jdk_version 2>&1;echo $?`
        java_home=`ls $jdk_path > /dev/null 2>&1 ; echo $?`
        java_value=`cat $java_version | grep "$jdk_num"`

        #首先,判斷是否存在jdk路徑,不存在,直接安裝jdk了。若是存在,接下來判斷jdk的版本。若是查詢不到jdk的
        #版本,那麼開始安裝jdk。而若是查詢到jdk的版本,提示用戶,當前系統已經安裝了jdk。
        case $java_home in
                0)
                case $java_value in
                        0)
                                print_log "jdk已經安裝"
                        ;;
                        *)
                                print_log "當前系統不存在$jdk_tmp版jdk,即將安裝"
                                cd $tar_dir
                                tar -zxvf $jdk_pkg -C $jdk_path
                                cd $jdk_path
                                 tar -zxvf $jdk_pkg -C $jdk_path
                                cd $jdk_path
                                unlink jdk
                                ln -s $jdk_tar jdk
                                chown -R root.root $jdk_tar jdk
                                Java_home_num=`cat /etc/profile | grep "JAVA_HOME" | wc -l`
                                if [ $Java_home_num -eq 0  ];then
                                        echo "export JAVA_HOME=/data/java/jdk" >> /etc/profile
                                        echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
                                fi
                                print_log "source"
                        ;;
                esac
                ;;
                *)
                        print_log "當前系統不存在$jdk_tar目錄,也未安裝jdk。接來下開始安裝$jdk_pkg"
                        mkdir -p $jdk_path
                        cd $tar_dir
                        tar -zxvf $jdk_pkg -C $jdk_path
                        cd $jdk_path
                        ln -s $jdk_tar jdk
                        chown -R root.root $jdk_tar jdk
                        echo "export JAVA_HOME=/data/java/jdk" >> /etc/profile
                        echo 'PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
                ;;
        esac
}

check_tmp_file

tmp_jdk.txt這個文本,記錄了用戶確認安裝jdk的版本信息。java

相關文章
相關標籤/搜索