Linux 中SHELL判斷一個環境變數是否存
阿新 • • 發佈:2019-02-16
示例指令碼如下:
#!/bin/bash
#emptyEnviroment.sh
if [ $ORACLE_HOME ];then
echo "ORACLE_HOME = $ORACLE_HOME"
else
echo "ORACLE IS NOT EXISTS"
fi
if [ -z $JAVA_HOME ];then
echo "not exists"
else
echo "JAVA_HOME = $JAVA_HOME"
fi
第一個判斷 $ORACLE_HOME 是判斷當前系統中是否存在環境變數 ORACLE_HOME 如果存在就為 TRUE,否則就為 FALSE 。
第二個判斷 $JAVA_HOME 中 -z 是一個測試條件,判斷當前的環境變數是否為空(字串為空)。
以下為常用測試條件:
字串判斷:
= 兩個字串相等。
!= 兩個字串不等。
-n 非空串。
-z 判斷字串是否為空。
檔案判斷:
-d 目錄
-f 正規檔案
-L 符號連線
-r 可讀
-s 檔案長度大於 0、非空
-w 可寫
-u 檔案有suid位設定
-x 可執行
邏輯操作符:
-a 邏輯與,操作符兩邊均為真,結果為真,否則為假。
-o 邏輯或,操作符兩邊一邊為真,結果為真,否則為假。
! 邏輯否,條件為假,結果為真。
測試數值:
-eq 數值相等。
-ne 數值不相等。
-gt 第一個數大於第二個數。
-lt 第一個數小於第二個數。
-le 第一個數小於等於第二個數。
-ge 第一個數大於等於第二個數。