在Shell脚本中,if
语句用于根据条件执行代码块
-
数值比较:
-eq
:等于-ne
:不等于-gt
:大于-lt
:小于-ge
:大于等于-le
:小于等于
示例:
if [ $num1 -eq $num2 ]; then echo "Numbers are equal." fi
-
字符串比较:
=
:相等!=
:不相等-z
:字符串长度为0-n
:字符串长度不为0
示例:
if [ "$str1" = "$str2" ]; then echo "Strings are equal." fi
-
文件测试:
-e
:文件存在-d
:文件是目录-f
:文件是普通文件-r
:文件可读-w
:文件可写-x
:文件可执行
示例:
if [ -e "file.txt" ]; then echo "File exists." fi
-
逻辑运算:
&&
:逻辑与(and)||
:逻辑或(or)!
:逻辑非(not)
示例:
if [ $num1 -gt $num2 ] && [ $num1 -lt 100 ]; then echo "Number is greater than the other but less than 100." fi
注意:在条件表达式中,使用方括号[
和]
,并在操作符两侧添加空格。在比较字符串时,确保将变量放在双引号内,以避免空格或特殊字符导致的错误。