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

来源:互联网 发布:中国网安 知乎 编辑:程序博客网 时间:2024/05/18 01:12

示例脚本如下:

#!/bin/bash#emptyEnviroment.shif [ $ORACLE_HOME ];thenecho "ORACLE_HOME = $ORACLE_HOME"elseecho "ORACLE IS NOT EXISTS"fiif [ -z $JAVA_HOME ];thenecho "not exists"elseecho "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 第一个数大于等于第二个数。