我从 bash 开始,发现以下内容:
if test $first -lt $second
then
echo $first is lower than $second
else
if test $first -gt $second
then
echo $first is higher than $second
else
echo $first and $second are equals
fi
fi
Run Code Online (Sandbox Code Playgroud)
为了阅读脚本并执行它,我知道它的作用,但不知道 -lt 和 -gt 的用途。
有人可以告诉我这种“工具”的名称是什么以及它们(-lt 和 -gt)是做什么的?谢谢!
cuo*_*glm 34
它是less thanand的缩写greater than。它用于 bash 中的整数比较。您可以通过键入man test以下内容阅读更多信息:
....
INTEGER1 -gt INTEGER2
INTEGER1 is greater than INTEGER2
....
INTEGER1 -lt INTEGER2
INTEGER1 is less than INTEGER2
....
Run Code Online (Sandbox Code Playgroud)
Gil*_*il' 10
你可以找到的定义-lt和-gt对的文档test的命令(man test),或bash的文档中,因为test是一个内置的命令在bash(像大多数其他炮弹)。
-lt和-gt是数字比较(小于[且不等于],大于[且不等于])。还有小于/大于等于运算符-leand -ge,以及等于和不等于运算符-eqand -ne。这些是数字运算符,因此如果任一方不是数字并且9被认为小于,则会出现错误10。
-lt使用like而不是通常的名称的原因<是该字符<将被解释为重定向。运算符=and!=也存在,但它们执行字符串比较:test 00 -eq 0为真而test 00 = 0为假。
包括 bash 在内的一些 shell 也有运算符<并>执行字符串字典序比较,因此test 9 \< 10为 false,因为它9已排好序1(反斜杠防止字符<被解释为重定向运算符)。这些 shell 还提供了用于测试的双括号语法,例如[[ 9 < 10 ]](与 相对[ 9 \< 10 ]),其中不能有重定向,因此<不需要引用。
| 归档时间: |
|
| 查看次数: |
260340 次 |
| 最近记录: |