Условные выражения Bash
if
Формат оператора if
в Bash следующий:
Вот краткий пример, в котором вам будет предложено ввести свое имя, если вы оставили его пустым:
if else
С помощью if-else
оператора вы можете указать действие в случае, если условие в if
операторе не соответствует. Мы можем объединить это с условными выражениями из предыдущего раздела следующим образом:
Вы можете использовать приведенный выше оператор if со всеми условными выражениями из предыдущих глав:
Вот еще один пример оператора if
, который проверит ваш текущий статус User ID
и не позволит вам запустить скрипт от имени root
пользователя:
Вы также можете проверить несколько условий с помощью if
оператора. В этом примере мы хотим убедиться, что пользователь не является ни пользователем с правами администратора, ни пользователем root, чтобы гарантировать, что сценарий не сможет нанести слишком большой ущерб. В этом примере мы будем использовать or
оператор, отмеченный ||
. Это означает, что любое из условий должно быть истинным. Если бы мы использовали and
оператор of &&
, то оба условия должны были бы быть истинными.
Если у вас есть несколько условий и сценариев, вы можете использовать elif
операторы if
и else
операторы.
switch case
Как и в других языках программирования, вы можете использовать case
оператор для упрощения сложных условий, когда есть несколько разных вариантов. Таким образом, вместо использования нескольких операторов if
и if-else
вы можете использовать один case
оператор.
Синтаксис оператора Bash case
выглядит следующим образом:
Краткое изложение конструкции:
Все
case
утверждения начинаются сcase
ключевого слова.В той же строке, что и
case
ключевое слово, вам необходимо указать переменную или выражение, за которым следуетin
ключевое слово.После этого у вас появляются
case
выкройки, по которым нужно)
определить конец выкройки.Вы можете указать несколько шаблонов, разделенных вертикальной чертой:
|
.После шаблона вы указываете команды, которые вы хотите выполнить, если шаблон соответствует указанной вами переменной или выражению.
Все предложения должны быть завершены добавлением
;;
в конце.Вы можете использовать оператор по умолчанию, добавив
*
в качестве шаблона.Чтобы закрыть
case
оператор, используйтеesac
ключевое слово (регистр в обратном порядке).
Вот пример оператора Bash case
:
С помощью этого скрипта мы просим пользователя ввести название марки автомобиля, например Telsa, BMW, Mercedes и т. д.
Затем с помощью case
заявления мы проверяем название бренда и соответствует ли оно какому-либо из наших шаблонов, и если да, то распечатываем местоположение фабрики.
Если название бренда не соответствует ни одному из наших case
утверждений, мы распечатываем сообщение по умолчанию: an unknown car brand
.
Заключение
Я бы посоветовал вам попробовать изменить сценарий и немного поиграть с ним, чтобы вы могли попрактиковаться в том, что вы только что узнали в последних двух главах!
Дополнительные примеры case
операторов Bash можно найти в главе 16, где мы создадим интерактивное меню в Bash, используя оператор cases
для обработки пользовательского ввода.
Last updated