如何在Linux上的bash shell中比较数字

在Bash Shell脚本中,我们可以进行数字比较。 要在Bash中执行数字比较操作,必须在if或循环中使用“测试”状态。 在这篇文章中,我们将向您展示如何比较bash中的数字。

bash数量比较的运算符

运算符示例的作用
-eq比较bash中的数字是否相等,如果相等则返回0如果 [ $a -eq $b ] 然后
-ge如果大于或等于,则比较bash中的数字。 如果大于或等于,则结果返回0如果 [ $a -ge $b ] 然后
-gt比较bash中的数字(如果更大)。如果 [ $a -gt $b ] 然后
-le如果小于或等于,则比较bash中的数字。如果 [ $a -le $b ] 然后
-lt比较bash中的数字(如果较少)。如果 [ $a -lt $b ] 然后
-ne如果不相等,则比较bash中的数字。如果 [ $a -ne $b ] 然后

Bash中的数字比较运算符的详细示例:

1.操作员 -eq

该运算符比较数字以查看值是否相等。 如果相等,则返回0。

[[email protected] ~]# cat test.sh
#!/bin/bash
echo "введите значение переменной"
read a
echo "введите значение переменной"
read b
if [ $a -eq $b ]
then
echo "Возвращаемое значение:: $?"
echo "a и b равны"
else
echo "Возвращаемое значение:: $?"
echo "a и b не равны"
fi
[[email protected] ~]#

执行:

[[email protected] ~]# sh test.sh
введите значение переменной
2
введите значение переменной
3
Возвращаемое значение:: 1
a и b не равны
[[email protected] ~]# sh test.sh
введите значение переменной
2
введите значение переменной
2
Возвращаемое значение:: 0
a и b равны
[[email protected] ~]#

在上面的示例中,我们第一次使用数字2和3,系统返回值1,但是当我们为a和b接受相同的值时,变量返回零。

2.操作员 -ge

该运算符比较数字并测试值是否大于或等于。 如果该值大于或等于,则返回值为0。

[[email protected] ~]# cat test1.sh
#!/bin/bash
#программа сравнения для -ge
echo "введите значение переменной"
read a
echo "введите значение для переменной b"
read b
if [ $a -ge $b ]
then
echo "возвращаемое значение:: $?"
echo "a больше или равно b"
else
echo "возвращаемое значение:: $?"
echo "a не больше или равно b"
fi
[[email protected] ~]#

3. -gt运算符

该数字比较运算符将检查更大的数字。 如果该值较大,则返回0。

[[email protected] ~]# cat test2.sh
#!/bin/bash
#программа сравнения для -gt
b=100
echo "введите значение больше 100"
read a
if [ $a -gt $b ]
then
echo "Очень хорошо"
else
echo "Не очень хорошо"
fi

4.操作员 -le

该数字比较运算符将检查值是否小于或等于。 如果小于或等于,则返回值为0。

#программа сравнения для -le
b=5
echo "введите значение меньше или равно 5"
read a
if [ $a -le $b ]
then
echo "все верно"
else
echo "не верно"
fi
[[email protected] ~]#

5.操作员 -lt

该数字比较运算符将检查值较少。 如果数字较小,则返回值为0。

[[email protected] ~]# cat test4.sh
#!/bin/bash
#программа сравнения для -lt
b=0
echo "введите число с минусом"
read a
if [ $a -lt $b ]
then
echo "Правильное число"
else
echo "Ввели не верное число"
fi
[[email protected] ~]#

6.操作员 -ne

这个数字比较运算符将检查值是否不相等。 如果数字不相等,则返回值为0。

[[email protected] ~]# cat test5.sh
#!/bin/bash
#программа сравнения для -ne
b=0
echo "введите любое не нулевое значение"
read a
if [ $a -ne $b ]
then
echo "Отлично!!!"
else
echo "вы ввели нулевое значение"
fi
[[email protected] ~]#

执行:

	
[[email protected] ~]# sh test5.sh
введите любое не нулевое значение
2
Отлично!!!
[[email protected] ~]# sh test5.sh
введите любое не нулевое значение
0
вы ввели нулевое значение

Sidebar