Как написать Bash IF-заявление (условные выражения)

С оператором if, который является типом условного оператора, вы можете выполнять различные действия в зависимости от указанных условий. Это эффективно дает системе возможность принимать решения.

Bash Basic If заявление

Примером простейшей формы оператора if будет:

кол = 5
если [$ count == 5]
тогда
echo "$ count"
фи

В этом примере переменная «count» используется для указания условия, которое используется как часть оператора if. Перед выполнением оператора if переменной «count» присваивается значение «5». Затем оператор if проверяет, является ли значение «count» «5». В этом случае выполняется оператор между ключевыми словами «then» и «fi», в противном случае выполняются любые операторы, следующие за оператором if. Ключевое слово «fi» — «если» пишется в обратном направлении. Язык сценариев bash использует это соглашение для обозначения конца сложного выражения, такого как оператор if или case.

Оператор «echo» выводит свой аргумент, в данном случае значение переменной «count», в окно терминала. Отступ кода между ключевыми словами оператора if улучшает читабельность, но не является обязательным.

Bash If заявление с остальным

Если у вас есть ситуация, когда фрагмент кода должен выполняться только в том случае, если условие не является истинным, вы можете использовать ключевое слово «else» в операторе if, как в этом примере:

кол = 5
если [$ count == 5]
тогда
echo "$ count"
еще
echo "count is 5"
фи

Если условие «$ count == 5» является истинным, система выводит значение переменной «count», в противном случае она выводит строку «count не 5».

Bash If заявление с Элиф

Если вы хотите провести различие между несколькими условиями, вы можете использовать ключевое слово «elif», которое происходит от «else if», как в этом примере:

если [$ count == 5]
тогда
эхо "количество пять"
elif [$ count == 6]
тогда
эхо "считать шесть"
еще
эхо "ничего из вышеперечисленного"
фи

Если «count» равно «5», система выводит «count is Five». Если «count» не «5», а «6», система выдает «count is six». Если это не «5» или «6», система выводит «ничего из вышеперечисленного».

Как вы уже догадались, у вас может быть любое количество «elif» предложений. Пример с несколькими условиями «elif»:

если [$ count == 5]
тогда
эхо "количество пять"
elif [$ count == 6]
тогда
эхо "считать шесть"
elif [$ count == 7]
тогда
эхо "кол-во семь"
elif [$ count == 8]
тогда
эхо "считать восемь"
elif [$ count == 9]
тогда
эхо "кол-во девять"
еще
эхо "ничего из вышеперечисленного"
фи

Bash Case заявление

Более компактным способом написания таких операторов с несколькими условиями является метод case. Он функционирует подобно оператору if с несколькими предложениями «elif», но является более кратким. Например, приведенный выше фрагмент кода можно переписать с помощью оператора case следующим образом:

регистр "$ count" в
5)
эхо "количество пять"
;;
6)
эхо "считать шесть"
;;
7)
эхо "кол-во семь"
;;
8)
эхо "считать восемь"
;;
9)
эхо "кол-во девять"
;;
*)
эхо "ничего из вышеперечисленного"
ESAC

Оператор Bash If в цикле while

Операторы if часто используются внутри циклов for или while, как в этом примере:

кол = 1
сделано = 0
в то время как [$ count -le 9]
делать
спать 1
((количество ++))
если [$ count == 5]
тогда
Продолжить
фи
echo "$ count"
сделанный
эхо закончено

Вы также можете иметь вложенные операторы if. Простейшее вложенное выражение if имеет вид: if … then … else … if … then … fi … fi. Однако if-оператор может быть вложен с произвольной сложностью.

Смотрите также, как передать аргументы скрипту bash, который показывает, как использовать условные выражения для обработки параметров, переданных из командной строки.

Оболочка bash предоставляет другие программные конструкции, такие как for-loop, while-loop и арифметические выражения.

Ссылка на основную публикацию