Shell——Linux下用shell腳本配置java環境變量


概述

雖然配環境變量很簡單,沒有必要寫腳本,但是可以通過編寫一些簡單的小腳本來熟悉shell的語法。

功能描述

寫一個腳本,指定解壓后的jdk路徑(需要做簡單的輸入判斷),可以自動配置環境變量。

代碼

#! /bin/bash
#功能: 配置Java環境變量
#用法: sh 文件名 jdk文件路徑
filename=$1
if [ -z "$filename" ]; then
        echo '尚未指定jdk路徑!'
        exit
elif (test ! -e ${filename})  then
        echo '指定文件不存在,請檢查后再試!'
        exit
elif [ ${filename:0-6} == 'tar.gz' ]; then
        echo '文件未解壓,請先解壓......'
        exit
elif [ ${filename:0:1} != '/' ]; then
        echo '請輸入絕對路徑'
        exit
else
        echo "export JAVA_HOME=${filename}" >> /etc/profile
        echo "export PATH=\${JAVA_HOME}/bin:$PATH">> /etc/profile
        echo "export CLASSPATH=.:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar">> /etc/profile
        source /etc/profile
        java -version
        echo '環境變量配置成功......'
fi

分析

  • if then

從流程上來看,用了shell的條件判斷式,if then。

  • 條件判斷

用到了中括號和test命,兩者功能相似。注意,這里的中括號和正則表達式中的中括號不一樣,

if [ -z "$filename" ]; then

-z表示判斷輸入的文件是否為空。中括號和里面的內容之間需要有空格。

test比較常用,可加的參數有很多,列舉常見的三個參數。

#判斷文件名是否存在
test -e 文件名

#判斷文件名是否存在且為文件
test -f 文件名

#判斷文件名是否存在且為目錄
test -d 文件名

/etc/profile

將所有的配置,加到(>>)/etc/profile后面是為了使我們的更改對所有的連接有效。

如果你只需要臨時生效(推出當前連接后即刻失效),只需要在當前的終端里執行:

export JAVA_HOME=文件路徑
export PATH=\${JAVA_HOME}/bin:$PATH
export CLASSPATH=.:\${JAVA_HOME}/lib/dt.jar:\${JAVA_HOME}/lib/tools.jar

source /etc/profile

使我們的配置立刻生效,無需重啟(重新連接)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM