В тази тема ще разберем как да използваме изрази if-else в Bash скриптове, за да изпълним нашите автоматизирани задачи.
Операторите на Bash if-else се използват за изпълнение на условни задачи в последователния поток на изпълнение на оператори. Понякога искаме да обработим конкретен набор от изявления, ако дадено условие е вярно, и друг набор от изявления, ако е невярно. За извършване на такъв тип действия можем да приложим механизма if-else. Можем да приложим условието с оператора if.
Bash If Else Синтаксис
Синтаксисът на оператора if-else в Bash Shell Scripting може да бъде дефиниран както следва:
if [ condition ]; then else fi
Важни моменти, които трябва да запомните
- Можем да използваме набор от едно или повече условия, свързани с помощта на условни оператори.
- Else block commands включва набор от действия за изпълнение, когато условието е невярно.
- Точката и запетая (;) след условния израз е задължителна.
Вижте следните примери, демонстриращи използването на израза if-else в Bash Script:
java свързаност
Пример 1
Следващият пример се състои от два различни сценария, при които в първия оператор if-else условието е вярно, а във втория оператор if-else условието е невярно.
#!/bin/bash #when the condition is true if [ 10 -gt 3 ]; then echo '10 is greater than 3.' else echo '10 is not greater than 3.' fi #when the condition is false if [ 3 -gt 10 ]; then echo '3 is greater than 10.' else echo '3 is not greater than 10.' fi
Изход
В първия израз if-else условието ( 10 -gt 3 ) е вярно и така операторът в блока if се изпълнява. Докато в другия израз if-else условието ( 3 -gt 10 ) е невярно и така операторът в блока else се изпълнява.
Пример 2
В този пример обяснихме как да използвате множество условия с израза if-else в Bash. Използваме логически оператори bash, за да съединим множество условия.
#!/bin/bash # When condition is true # TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 9 || 2 -lt 1 || 25 -gt 20 ]]; then echo 'Given condition is true.' else echo 'Given condition is false.' fi # When condition is false #TRUE && FALSE || FALSE || TRUE if [[ 10 -gt 9 && 10 == 8 || 3 -gt 4 || 8 -gt 8 ]]; then echo 'Given condition is true.' else echo 'Given condition is not true.' fi
Изход
Изявление Bash If Else в един ред
Можем да напишем пълен оператор if-else заедно с командите в един ред. Трябва да следвате дадените правила, за да използвате оператор if-else в един ред:
- Използвайте точка и запетая (;) в края на изразите в блоковете if и else.
- Използвайте интервали като разделител, за да добавите всички изрази.
По-долу е даден пример, демонстриращ как да използвате оператор if-else в един ред:
Пример
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then echo 'The value you typed is greater than 9.'; else echo 'The value you typed is not greater than 9.'; fi
Изход
linux редактиране на файл
Когато въведем стойност като 25, изходът ще изглежда така:
Bash вложен Ако друго
Точно като вложен оператор if, операторът if-else може също да се използва в друг оператор if-else. Нарича се вложен if-else в Bash скриптовете.
Следва пример, обясняващ как да използвате вложената команда if-else в Bash:
Пример
#!/bin/bash read -p 'Enter a value:' value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo '$value>9, $value<11' else echo 'the value you typed is greater than 9.' fi not < pre> <p> <strong>Output</strong> </p> <p>If we enter 10 as value, then the output will look like this:</p> <img src="//techcodeview.com/img/bash-tutorial/63/bash-if-else-4.webp" alt="Bash If Else Statement"> <h2>Conclusion <p>In this topic, we have learned about the syntax and usage of <strong>Bash if-else</strong> statement with the examples.</p> <hr></h2></11'>