详解linux下 if 判断条件

2023-11-22 0 868

UNIX Shell 里面比较字符写法:

-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

一个例子:

#!/bin/sh 
SYSTEM=`uname -s` # 获取操作系统类型,我本地是linux

if [ $SYSTEM = "Linux" ] ; then # 如果是linux话输出linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "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里使用的时候,它可以实现强大的功能或执行逻辑。

本文来源:www.lxlinux.net/5279.html,若引用不当,请联系修改。

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务

  • 0 +

    访问总数

  • 0 +

    会员总数

  • 0 +

    文章总数

  • 0 +

    今日发布

  • 0 +

    本周发布

  • 4975 +

    运行天数

你的前景,远超我们想象