概述
雖然配環境變量很簡單,沒有必要寫腳本,但是可以通過編寫一些簡單的小腳本來熟悉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
使我們的配置立刻生效,無需重啟(重新連接)。