shell

shell if语句中的条件表达式有哪些

小樊
83
2024-09-03 00:32:42
栏目: 编程语言

在Shell脚本中,if语句用于根据条件执行代码块

  1. 数值比较:

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

    示例:

    if [ $num1 -eq $num2 ]; then
      echo "Numbers are equal."
    fi
    
  2. 字符串比较:

    • =:相等
    • !=:不相等
    • -z:字符串长度为0
    • -n:字符串长度不为0

    示例:

    if [ "$str1" = "$str2" ]; then
      echo "Strings are equal."
    fi
    
  3. 文件测试:

    • -e:文件存在
    • -d:文件是目录
    • -f:文件是普通文件
    • -r:文件可读
    • -w:文件可写
    • -x:文件可执行

    示例:

    if [ -e "file.txt" ]; then
      echo "File exists."
    fi
    
  4. 逻辑运算:

    • &&:逻辑与(and)
    • ||:逻辑或(or)
    • !:逻辑非(not)

    示例:

    if [ $num1 -gt $num2 ] && [ $num1 -lt 100 ]; then
      echo "Number is greater than the other but less than 100."
    fi
    

注意:在条件表达式中,使用方括号[],并在操作符两侧添加空格。在比较字符串时,确保将变量放在双引号内,以避免空格或特殊字符导致的错误。

0
看了该问题的人还看了