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

示例脚本如下:

#!/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 第一个数大于等于第二个数。








你可能感兴趣的:(Ubuntu,Shell编程,Linux)