shell if判断语句的语法是什么

avatar
作者
筋斗云
阅读量:0

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

if [ condition ]; then   # 如果条件为真,则执行这里的代码块 fi 

或者使用elifelse来处理多个条件:

if [ condition1 ]; then   # 如果condition1为真,则执行这里的代码块 elif [ condition2 ]; then   # 如果condition1为假,但condition2为真,则执行这里的代码块 else   # 如果condition1和condition2都为假,则执行这里的代码块 fi 

注意,方括号[]之间的空格是必需的。在Shell脚本中,条件表达式需要用方括号括起来。

以下是一些常见的条件表达式:

  • -z string:如果字符串string的长度为零,则为真。
  • -n string:如果字符串string的长度非零,则为真。
  • string1 = string2:如果字符串string1和string2相等,则为真。
  • string1 != string2:如果字符串string1和string2不相等,则为真。
  • integer1 -eq integer2:如果整数integer1等于整数integer2,则为真。
  • integer1 -ne integer2:如果整数integer1不等于整数integer2,则为真。
  • integer1 -gt integer2:如果整数integer1大于整数integer2,则为真。
  • integer1 -ge integer2:如果整数integer1大于或等于整数integer2,则为真。
  • integer1 -lt integer2:如果整数integer1小于整数integer2,则为真。
  • integer1 -le integer2:如果整数integer1小于或等于整数integer2,则为真。
  • -e file:如果文件file存在,则为真。
  • -d file:如果文件file存在并且是一个目录,则为真。
  • -f file:如果文件file存在并且是一个普通文件,则为真。

这些条件表达式可以组合使用,例如:

if [ -n "$var" ] && [ $var -gt 10 ]; then   echo "变量var非空且大于10" fi 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!