详解linux下 if 判断条件

树叶云

UNIX Shell 里面比较字符写法:

-eq 等于-ne 不等于-gt 大于-lt 小于-le 小于等于-ge 大于等于-z

空串= 两个字符相等!= 两个字符不等-n 非空串

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

大体的格式

if list thendo something here
elif list thendo another thing here
elsedo something else here
fi

一个例子:

#!/bin/sh 
SYSTEM=`uname -s` # 获取操作系统类型,我本地是linuxif [ $SYSTEM = "Linux" ] ; then # 如果是linux话输出linux字符串echo "Linux"elif [ $SYSTEM = "FreeBSD" ] ; thenecho "FreeBSD"elif [ $SYSTEM = "Solaris" ] ; thenecho "Solaris"elseecho "What?"fi # 判断结束,以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里使用的时候,它可以实现强大的功能或执行逻辑。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/221339.html<

(0)
运维的头像运维
上一篇2025-04-14 23:56
下一篇 2025-04-14 23:57

相关推荐

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注