С помощью оператора if, который является типом условного оператора, вы можете выполнять различные действия в зависимости от заданных условий. Это эффективно дает системе возможность принимать решения.
Примером простейшей формы if-утверждения будет:
count = 5, если $ count == 5, тогда echo "$ count" fi
В этом примере переменная «count» используется для указания условия, которое используется как часть if-statement. Перед выполнением оператора if переменной «count» присваивается значение «5». Затем оператор if проверяет, имеет ли значение «count» значение «5». Если это так, выполняется оператор между ключевыми словами «then» и «fi», в противном случае выполняются любые инструкции, следующие за if-statement. Ключевое слово «fi» - это «если» указано в обратном порядке. Язык сценариев bash использует это соглашение для обозначения конца сложного выражения, такого как if-statement или case-statements.
Оператор «echo» печатает свой аргумент, в данном случае, значение переменной «count» в окне терминала. Отступы кода между ключевыми словами if-утверждения улучшают читаемость, но это необязательно.
Если у вас есть ситуация, когда часть кода должна выполняться только в том случае, если условие неверно, вы можете использовать ключевое слово else в if-statement, как в этом примере:
count = 5 if $ count == 5 then echo "$ count" else echo "count is not 5" fi
Если условие «$ count == 5» истинно, система печатает значение переменной «count», иначе оно печатает строку «count is not 5».
Если вы хотите различать несколько условий, вы можете использовать ключевое слово «elif», которое получено из «else if», как в этом примере:
if $ count == 5, тогда echo «count is five» elif $ count == 6, тогда echo «count is six» else echo «ни один из вышеперечисленных» fi
Если «count» равен «5», система распечатывает «count is five». Если «count» не «5», а «6», система печатает «count is six». Если это не «5» и «6», система печатает «ни один из вышеперечисленных».
Как вы могли догадаться, у вас может быть любое количество предложений «elif». Пример с несколькими условиями «elif»:
if $ count == 5, тогда echo «count is five» elif $ count == 6, тогда echo «count is six» elif $ count == 7, тогда эхо «count is seven» elif $ count = = 8, тогда echo «count is eight» elif $ count == 9, тогда echo «count is nine» else echo «ни один из вышеперечисленных» fi
Более компактным способом записи таких операторов с несколькими условиями является метод case. Он функционирует аналогично if-statement с несколькими предложениями «elif», но более кратким. Например, вышеуказанный фрагмент кода может быть переписан с инструкцией «case» следующим образом:
случай «$ count» в 5) echo «count is five» ;; 6) эхо «счет шесть» ;; 7) echo "count is seven" ;; 8) echo "count is eight" ;; 9) эхо «счет - девять» ;; *) echo "ни один из вышеперечисленных" esac
Операторы if часто используются внутри for-loop или while-loops, как в этом примере:
count = 1 done = 0 while $ count -le 9 do sleep 1 ((count ++)), если $ count == 5 затем продолжить f эхо «$ count» done echo Закончено
Вы также можете иметь вложенные операторы if. Простейший вложенный оператор if имеет вид: if … then … else … if … then … fi … fi. Однако if-statement может вставляться с произвольной сложностью.
См. Также, как передать аргументы в сценарий bash, который показывает, как использовать условные выражения для обработки параметров, переданных из командной строки.
Оболочка bash предоставляет другие конструкторы программирования, такие как for-loops, while-loops и арифметические выражения.