Поиск по сайту:
Чувство слабо и заблуждается.. (Ф. Бэкон).

Оператор if-else в Bash

11.09.2021
Оператор if-else в Bash

Во время работы в Bash вам может потребоваться добавить условия в ваш скрипт. В зависимости от того, является ли заданное программистом логическое условие истинным или ложным, условные операторы Bash выполняют указанные операции на основе условий. Эти условные операторы используются для выполнения определенных разделов вашей программы оболочки.

Операторы if, if-else, if-elif-else используются в сценариях Bash для выполнения блоков кода на основе результата условия, точно так же, как они работают в любом другом языке программирования.

В этой статье будут рассмотрены основы оператора if-else в Bash и показано, как использовать эти условные операторы в сценарии Bash. Итак, начнем!

 

Оператор bash if

Условные операторы могут быть представлены в различных формах в сценарии Bash, и оператор «if» является его основной формой. Взгляните на синтаксис оператора «if»:

if ( условие )
then
if блок-операторы
fi

 

Чтобы добавить оператор «if» в ваш сценарий Bash, напишите ключевое слово «if» и укажите с ним условное выражение. В следующей строке добавьте ключевое слово «then» и напишите операторы, которые вы хотите выполнить в этом блоке. После добавления операторов блока if закройте оператор if с ключевым словом «fi».

 

Как работает if в Bash

Данный блок операторов «if» будет работать следующим образом: Прежде всего, программа проверит оператор «if». В случае, если указанное условие истинно, он будет выполнять операторы блока, которые идут после ключевого слова «then». В другом случае, если условие окажется ложным, программа перейдет к операторам, которые идут после оператора if:

Оператор if-else в Bash

 

Пример инструкции if в Bash

Теперь мы напишем Bash-скрипт, содержащий оператор «if». Приведенный ниже скрипт проверит, больше ли введенное нами число 5:

#! /bin/bash
echo -n "Введите любое число по вашему выбору:"
read NUM

if [[ $NUM -gt 5 ]]
then
echo "Число больше 5."
fi

 

Откройте ваш любимый текстовый редактор и добавьте приведенный выше код в файл.

Читать  Как использовать модуль Ping в Ansible

Сохраните этот файл как файл сценария оболочки Bash, добавив расширение «.sh». Мы сохранили наш сценарий bash как «testfile.sh».

Теперь откройте свой терминал Ubuntu, нажав «CTRL + ALT + T», и выполните в нем следующую команду:

$ bash testfile.sh

 

После выполнения сценария bash «testfile.sh» вам будет предложено ввести число. Например, мы ввели «10». Теперь условие «if» будет оценивать, если введенное вами число больше 5, что в данном случае верно. Итак, в конце будет выполнена команда «echo», и она распечатает утверждение, что введенное число больше «5».

В приведенном выше примере введенное число удовлетворяет условию «if». Но что, если мы введем любое число, не соответствующее указанному условию, что должен делать сценарий bash в таком случае? Простое «if» ничего не даст. Например, мы выполнили тот же сценарий «testfile.sh», и теперь у нас есть ввод «3», который «не» больше «5». Мы не добавили никаких операторов для обработки этого условия; следовательно, вывод ничего не покажет.

В таких случаях, когда вы хотите выполнить что-либо, когда ваше условие «if» оценивает «false», перейдите на шаг вперед и используйте оператор if..else.

 

Оператор bash if-else

Вы можете использовать оператор if-else в сценарии Bash для выполнения любого оператора, если указанное условие оценивается как ложное. Ознакомьтесь с синтаксисом оператора if-else:

if (условие)
then
if операторы блока
else
else операторы блока
fi

 

Чтобы добавить оператор if-else в ваш сценарий Bash, начните с ключевого слова «if» и укажите с ним условное выражение. В следующей строке добавьте ключевое слово «then» и напишите операторы, которые вы хотите выполнить, когда условие окажется истинным. После добавления операторов if-block используйте ключевое слово «else» и запишите операторы, которые будут выполняться в случае, если условие «if» не истинно. Эти операторы известны как «операторы блока else». После этого закройте оператор if-else ключевым словом «fi».

Читать  Руководство по eBPF в Linux

 

Оператор if-else в Bash

Прежде всего, сценарий bash проверит оператор if. Если условие оценивается как истинное, тогда программа выполнит операторы, присутствующие в блоке «if». В другом случае, если условие окажется ложным, программа перейдет к блоку else и выполнит действие, указанное в «заявлении блока else»:

Оператор if-else в Bash

 

Пример инструкции if-else

В том же сценарии «testfile.sh» мы добавим предложение «else», которое будет распечатывать оператор в случае, если условие «if» является «false»:

#! /bin/bash
echo -n "Введите любое число по вашему выбору:"
read NUM

if [[ $NUM -gt 5 ]]
then
echo "Число больше 5."
else
echo "Число меньше 5."
fi

 

Сохраните добавленные изменения в «testfile.sh» и выполните этот сценарий bash в своем терминале.

$ bash testfile.sh

 

Наше условие «if» проверяет, больше ли введенное нами число «5». Итак, впервые мы введем «6», что позволит выполнить блок-операторы if, и скрипт выведет на терминал «число больше 5».

Мы также добавили блок «else»; теперь давайте проверим, работает ли он. Для этого введем число меньше 5, выходные данные покажут, что оператор if-else работает нормально. Что, если мы введем «5»?

На выходе будет напечатано «число меньше 5», что неверно. Для обработки таких условий мы можем использовать оператор if-elif-else в сценарии bash.

 

Оператор if-elif-else в Bash

В сценарии bash оператор if-elif-else представлен в приведенной ниже форме:

if (условие)
then
if блок-операторы
elif (условие)
then
elif блочные операторы
else
else блочные операторы
fi

 

Чтобы добавить оператор if-elif-else в ваш сценарий Bash, начните с ключевого слова «if» и укажите с ним условное выражение. В следующей строке добавьте ключевое слово «then» и напишите операторы, которые вы хотите выполнить, если условие окажется истинным. После добавления операторов if-block используйте ключевое слово «elif» и укажите другое условие. Затем добавьте ключевое слово «then» и запишите операторы блока elif. Наконец, добавьте блок «else» с операторами, выполняемыми, если указанные условия становятся ложными, и закройте оператор if-elif-else с ключевым словом «fi».

Читать  Как вывести список только каталогов в Linux

 

Оператор if-elif-else в Bash

Здесь программа сначала проверит условие «if»; если это правда, он выполнит «блок-операторы if» и выйдет из условной структуры. В другом случае, если условие ложно, он проверит условие, указанное с помощью else-if или «elif», если это условие окажется истинным, сценарий bash выполнит операторы блока «elif». Если ни одно из указанных условий не является «false», будут выполняться операторы блока else:

Оператор if-elif-else в Bash

 

Пример bash if-elif-else

В том же скрипте testfile.sh мы добавили блок elif следующим образом:

#! /bin/bash
echo -n "Введите любое число по вашему выбору:"
read NUM

if [[ $NUM -gt 5 ]]
then
echo "Число больше 5."
elif [[ $NUM -eq 5 ]]
then
echo "Число равно 5."
else
echo "Число меньше 5."
fi

 

Блок «elif» проверит, равно ли введенное число 5.

Сохраните этот сценарий «testfile.sh» и выполните его в своем терминале.

Впервые введем «6», что больше «5». В этом случае будут выполнены «блок-операторы if».

Итак, что насчет утверждения «elif»? Теперь введем «5», чтобы проверить работу блока «elif»:

Выходные данные показывают нам, что наша программа выполнила оператор, добавленный внутри блока «elif» для введенного числа.

 

Заключение

Одним из важнейших принципов компьютерного программирования является принятие решений. Как и в других языках программирования, операторы if, if-else и if-elif-else используются в Bash для выполнения кода на основе определенных условий. В этой статье показано, как использовать операторы if, if-else, if-elif-else в сценарии bash с синтаксисом и примерами. Если вам нужно обработать условия в вашем сценарии bash, попробуйте операторы if-else.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Call of Duty: Vanguard  вернет франшизу к своим корням Второй…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: