在 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 值表示不成立。