Числовые сравнения
Shell-скрипты также могут сравнивать числа. Создадим новый скрипт, чтобы продемонстрировать числовые сравнения.
Создайте новый файл с именем numeric.sh
:
touch numeric.sh
Откройте файл numeric.sh
в WebIDE и добавьте следующее содержимое:
#!/bin/bash
NUMBER=10
if [ $NUMBER -lt 5 ]; then
echo "The number is less than 5"
elif [ $NUMBER -eq 10 ]; then
echo "The number is exactly 10"
elif [ $NUMBER -gt 15 ]; then
echo "The number is greater than 15"
else
echo "The number is between 5 and 15, but not 10"
fi
В этом скрипте используются операторы числового сравнения:
-lt
: меньше чем
-eq
: равно
-gt
: больше чем
Существуют и другие операторы, которые вы можете использовать:
-le
: меньше или равно
-ge
: больше или равно
-ne
: не равно
Обратите внимание, что мы используем эти специальные операторы вместо символов, таких как <
или >
. Это связано с тем, что в Bash символы <
и >
используются для перенаправления ввода/вывода, а не для числового сравнения.
Теперь сделаем скрипт исполняемым и запустим его:
chmod +x numeric.sh
./numeric.sh
Вы должны увидеть вывод: The number is exactly 10
Попробуйте изменить значение переменной NUMBER
на разные значения и запустите скрипт снова. Посмотрите, как меняется вывод в зависимости от установленного значения.
Например, если вы измените NUMBER
на 20, вы должны получить "The number is greater than 15". Если вы измените его на 7, вы должны получить "The number is between 5 and 15, but not 10".