在Shell脚本中,可以使用if语句进行条件判断。if语句的基本语法如下:
if [ condition ]; then # 当条件成立时执行的命令 elif [ condition ]; then # 当条件成立时执行的命令(可选,可以有多个elif) else # 当所有条件都不成立时执行的命令 fi
其中,condition
是一个测试表达式,用于判断条件是否成立。常用的测试操作符包括:
-eq
:等于-ne
:不等于-gt
:大于-lt
:小于-ge
:大于等于-le
:小于等于-z
:字符串长度为零-n
:字符串长度不为零-e
:文件存在-f
:文件为普通文件-d
:目录存在-s
:文件大小为0-b
:文件为块设备-c
:文件为字符设备-p
:文件存在且是一个管道-u
:文件具有用户读权限-g
:文件具有组读权限-o
:文件具有其他用户读权限-w
:文件具有写权限-x
:文件具有执行权限
示例:
#!/bin/bash num=10 if [ $num -eq 10 ]; then echo "The number is 10." elif [ $num -lt 10 ]; then echo "The number is less than 10." else echo "The number is greater than 10." fi
在这个示例中,我们判断变量num
的值,如果等于10,输出"The number is 10.“;如果小于10,输出"The number is less than 10.”;否则输出"The number is greater than 10."。