> shell编程 >

Linux 中SHELL判断一个环境变量是否存

示例脚本如下:

 

  1. #!/bin/bash  
  2. #emptyEnviroment.sh  
  3. if [ $ORACLE_HOME ];then  
  4.     echo "ORACLE_HOME = $ORACLE_HOME"  
  5. else  
  6.     echo "ORACLE IS NOT EXISTS"  
  7. fi  
  8.   
  9. if [ -z $JAVA_HOME ];then  
  10.     echo "not exists"  
  11. else  
  12.     echo "JAVA_HOME = $JAVA_HOME"  
  13. 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 第一个数大于等于第二个数。



(责任编辑:IT)