Операторы if, if-else, if-elif-else используются в сценариях Bash для выполнения блоков кода на основе результата условия, точно так же, как они работают в любом другом языке программирования.
В этой статье будут рассмотрены основы оператора if-else в Bash и показано, как использовать эти условные операторы в сценарии Bash. Итак, начнем!
Условные операторы могут быть представлены в различных формах в сценарии Bash, и оператор «if» является его основной формой. Взгляните на синтаксис оператора «if»:
if ( условие ) then if блок-операторы fi
Чтобы добавить оператор «if» в ваш сценарий Bash, напишите ключевое слово «if» и укажите с ним условное выражение. В следующей строке добавьте ключевое слово «then» и напишите операторы, которые вы хотите выполнить в этом блоке. После добавления операторов блока if закройте оператор if с ключевым словом «fi».
Данный блок операторов «if» будет работать следующим образом: Прежде всего, программа проверит оператор «if». В случае, если указанное условие истинно, он будет выполнять операторы блока, которые идут после ключевого слова «then». В другом случае, если условие окажется ложным, программа перейдет к операторам, которые идут после оператора if:
Теперь мы напишем Bash-скрипт, содержащий оператор «if». Приведенный ниже скрипт проверит, больше ли введенное нами число 5:
#! /bin/bash echo -n "Введите любое число по вашему выбору:" read NUM if [[ $NUM -gt 5 ]] then echo "Число больше 5." fi
Откройте ваш любимый текстовый редактор и добавьте приведенный выше код в файл.
Сохраните этот файл как файл сценария оболочки 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.
Вы можете использовать оператор if-else в сценарии Bash для выполнения любого оператора, если указанное условие оценивается как ложное. Ознакомьтесь с синтаксисом оператора if-else:
if (условие) then if операторы блока else else операторы блока fi
Чтобы добавить оператор if-else в ваш сценарий Bash, начните с ключевого слова «if» и укажите с ним условное выражение. В следующей строке добавьте ключевое слово «then» и напишите операторы, которые вы хотите выполнить, когда условие окажется истинным. После добавления операторов if-block используйте ключевое слово «else» и запишите операторы, которые будут выполняться в случае, если условие «if» не истинно. Эти операторы известны как «операторы блока else». После этого закройте оператор if-else ключевым словом «fi».
Прежде всего, сценарий bash проверит оператор if. Если условие оценивается как истинное, тогда программа выполнит операторы, присутствующие в блоке «if». В другом случае, если условие окажется ложным, программа перейдет к блоку else и выполнит действие, указанное в «заявлении блока 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.
В сценарии 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».
Здесь программа сначала проверит условие «if»; если это правда, он выполнит «блок-операторы if» и выйдет из условной структуры. В другом случае, если условие ложно, он проверит условие, указанное с помощью else-if или «elif», если это условие окажется истинным, сценарий bash выполнит операторы блока «elif». Если ни одно из указанных условий не является «false», будут выполняться операторы блока 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.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята