UNIX 里面比较字符写法

-eq     等于;              -ne    不等于;

-gt    大于;             -lt    小于 ;

-le    小于等于;       -ge   大于等于;

-z    空串;                   -n    非空串;

=    两个字符相等;     !=    两个字符不等

无论什么编程语言都离不开条件判断。SHELL也不例外。

大体的格式如下:

if list then
do something here
elif list then
do another thing here
else
do something else here
fi

基本上和其他语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。说明如下:

1 字符串判断

str1 = str2     当两个串有相同内容、长度时为真
str1 != str2     当串str1和str2不等时为真
-n str1       当串的长度大于0时为真(串非空)
-z str1       当串的长度为0时为真(空串)
str1        当串str1为非空时为真

2 数字的判断

int1 -eq int2   两数相等为真
int1 -ne int2   两数不等为真
int1 -gt int2    int1大于int2为真
int1 -ge int2   int1大于等于int2为真
int1 -lt int2    int1小于int2为真
int1 -le int2    int1小于等于int2为真

3 文件相关的if判断条件语句

-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

4 复杂逻辑判断

-a        与
-o       或
!       非

语法虽然简单,但是在SHELL里使用的时候,它可以实现强大的功能或执行逻辑。

原文来自:

本文地址://q13zd.cn/linux-if-duge.html编辑:问题终结者,审核员:逄增宝

Linux大全:

Linux系统大全:

红帽认证RHCE考试心得: