inux:shell条件表达式讲解

在 Linux 中,shell 脚本可以使用条件表达式来判断一个条件是否成立,从而决定是否执行某些语句。条件表达式可以使用 shell 内置的命令或函数来实现。

等于的写法

等于的写法在 shell 中使用的是 -eq 命令。例如,如果我们想判断变量 a 的值是否等于 10,可以使用以下表达式:

[ $a -eq 10 ]

如果表达式成立,则返回值为 0,否则返回值为非 0 值。

其他比较运算符

shell 中还提供了其他的比较运算符,用于判断两个值是否相等、是否不等、是否大于、是否小于等。这些运算符的写法如下表所示:

运算符 说明
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

实例

以下是一个使用条件表达式的实例:

#!/bin/bash

# 定义变量
a=10
b=20

# 判断变量 a 的值是否等于 10
if [ $a -eq 10 ]; then
  echo "变量 a 的值等于 10"
fi

# 判断变量 b 的值是否大于 10
if [ $b -gt 10 ]; then
  echo "变量 b 的值大于 10"
fi

运行脚本,输出如下:

变量 a 的值等于 10

shell 中还可以使用 == 来判断两个值是否相等。== 是 shell 中的一个比较运算符,与 -eq 等效。例如,以下两个表达式具有相同的效果:

[ $a -eq 10 ]
$a == 10

== 和 -eq 的返回值都是相同的,如果表达式成立,则返回值为 0,否则返回值为非 0 值。

扫描二维码关注公众号,回复: 17175454 查看本文章

但是,== 的优点是更加简洁,因此在 shell 脚本中更加常用。

注意事项

在使用条件表达式时,需要注意以下几点:

  • 条件表达式要放在方括号 [] 之间,并且要有空格。
  • 条件表达式中的变量要先定义。
  • 条件表达式的返回值为 0 表示成立,非 0 值表示不成立。

猜你喜欢

转载自blog.csdn.net/qq_14829643/article/details/135006549