Условные выражения Bash
В информатике условные операторы, условные выражения и условные конструкции представляют собой функции языка программирования, которые выполняют различные вычисления или действия в зависимости от того, истинно или ложно заданное программистом логическое условие.
В Bash условные выражения используются составной [[
командой и [
встроенными командами для проверки атрибутов файла и выполнения строковых и арифметических сравнений.
Вот список самых популярных условных выражений Bash. Вам не обязательно запоминать их наизусть. Вы можете просто вернуться к этому списку, когда вам это понадобится!
Выражения файлов
Истина, если файл существует.
Истинно, если файл существует и является специальным файлом блока.
Истинно, если файл существует и является специальным символьным файлом.
Истинно, если файл существует и является каталогом.
Истина, если файл существует.
Истинно, если файл существует и является обычным файлом.
True, если файл существует и является символической ссылкой.
True, если файл существует и доступен для чтения.
Истинно, если файл существует и его размер больше нуля.
True, если файл существует и доступен для записи.
Истинно, если файл существует и является исполняемым.
True, если файл существует и является символической ссылкой.
Строковые выражения
Истинно, если переменная оболочки varname установлена (присвоено значение).
Истинно, если длина строки равна нулю.
Истинно, если длина строки не равна нулю.
Истинно, если строки равны.
=
следует использовать с командой тестирования для проверки соответствия POSIX. При использовании с[[
командой выполняется сопоставление с образцом, как описано выше (составные команды).
Истинно, если строки не равны.
Истинно, если строка1 сортируется перед строкой2 лексикографически.
Истинно, если строка1 сортируется после строки2 лексикографически.
Арифметические операторы
Возвращает true, если числа равны
Возвращает true, если числа не равны
Возвращает true, если arg1 меньше arg2
Возвращает true, если arg1 меньше или равен arg2 .
Возвращает true, если arg1 больше arg2
Возвращает true, если arg1 больше или равен arg2.
Обратите внимание: arg1 и arg2 могут быть положительными или отрицательными целыми числами.
Как и в других языках программирования, вы можете использовать AND
& OR
условия:
Операторы статуса выхода
возвращает true, если команда прошла успешно и без ошибок
возвращает true, если команда не выполнена успешно или содержит ошибки
Last updated