В сценариях оболочки Bash мы можем выполнить сравнение чисел. Для выполнения операции сравнения чисел в Bash необходимо использовать состояние “test” в пределах if или loop. В этом посте мы расскажем вам, как сравнить числа в bash.
Операторы для Баш сравнения чисел
оператор | что делает | пример |
---|---|---|
-eq | сравнить цифры в bash для равенства, возвращает 0, если равно | if [ $a -eq $b ] then |
-ge | сравнения чисел в bash, если больше или равно. Результат возвращает 0, если больше или равно | if [ $a -ge $b ] then |
-gt | сравнивает числа в bash, если больше. | if [ $a -gt $b ] then |
-le | сравнивает числа в bash, если меньше или равно. | if [ $a -le $b ] then |
-lt | сравнивает числа в bash, если меньше. | if [ $a -lt $b ] then |
-ne | сравнивает числа в bash, если не равно или нет. | if [ $a -ne $b ] then |
Примеры в деталях операторов сравнения числа в Bash:
1. оператор -eq
Этот оператор сравнивает числа, будет проверять значение равно или нет. Если оно равно, то возвращается 0.
Исполнение:
В приведенном выше примере мы взяли числа 2 и 3 в первый раз и система возвратила значение 1, однако, когда мы приняли одинаковые значения для а и б, переменная возвращает нулевое значение.
2. оператор -ge
Этот оператор сравнивает числа и проверяет значения на больше или равно. Если значение больше или равно, то он возвращаемое значение 0.
3. оператор -gt
Этот оператор сравнения чисел будет проверять число на большее. Если значение больше, то возвращает 0.
[root@destroyer ~]# cat test2.sh #!/bin/bash #программа сравнения для -gt b=100 echo "введите значение больше 100" read a if [ $a -gt $b ] then echo "Очень хорошо" else echo "Не очень хорошо" fi
4. оператор -le
Этот оператор сравнения числа будет проверять значения на меньше или равно. Если оно меньше или равно, то возвращаемое значение 0.
5. оператор -lt
Этот оператор сравнения числа будет проверять значения на меньшее. Если число меньше, то возвращаемое значение 0.
[root@destroyer ~]# cat test4.sh #!/bin/bash #программа сравнения для -lt b=0 echo "введите число с минусом" read a if [ $a -lt $b ] then echo "Правильное число" else echo "Ввели не верное число" fi [root@destroyer ~]#
6. оператор -ne
Этот оператор сравнения числа будет проверять значения на не равно. Если числа не равны, то возвращаемое значение равно 0.
Исполнение: