Команды, синтаксис и примеры
С оператором 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 улучшает читабельность, но не является обязательным.
Если у вас есть ситуация, когда фрагмент кода должен выполняться только в том случае, если условие не является истинным, вы можете использовать ключевое слово «else» в операторе if, как в этом примере:
кол = 5 если [$ count == 5] затем echo "$ count" еще echo "count is 5" фи
Если условие «$ count == 5» является истинным, система выводит значение переменной «count», в противном случае она выводит строку «count не 5».
Если вы хотите провести различие между несколькими условиями, вы можете использовать ключевое слово «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] затем эхо "кол-во девять" еще эхо "ничего из вышеперечисленного" фи
Более компактным способом написания таких операторов с несколькими условиями является метод case. Он функционирует подобно оператору if с несколькими предложениями «elif», но является более кратким. Например, приведенный выше фрагмент кода можно переписать с помощью оператора case следующим образом:
регистр "$ count" в 5) эхо "количество пять" ;; 6) эхо "считать шесть" ;; 7) эхо "кол-во семь" ;; 8) эхо "считать восемь" ;; 9) эхо "кол-во девять" ;; *) эхо "ничего из вышеперечисленного" ESAC
Операторы 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 и арифметические выражения.