logo

Uderz, jeśli jest inaczej

W tym temacie zrozumiemy, jak używać instrukcji if-else w skryptach Bash, aby wykonywać nasze zautomatyzowane zadania.

Instrukcje Bash if-else służą do wykonywania zadań warunkowych w sekwencyjnym przebiegu wykonywania instrukcji. Czasami chcemy przetworzyć określony zestaw instrukcji, jeśli warunek jest prawdziwy, i inny zestaw instrukcji, jeśli jest fałszywy. Aby wykonać tego typu akcje, możemy zastosować mechanizm if-else. Warunek możemy zastosować za pomocą instrukcji „if”.

Składnia Bash If Else

Składnię instrukcji if-else w skryptach powłoki Bash można zdefiniować w następujący sposób:

 if [ condition ]; then else fi 

Ważne punkty do zapamiętania

  • Możemy użyć zestawu jednego lub większej liczby warunków połączonych za pomocą operatorów warunkowych.
  • Polecenia blokowe Else zawierają zestaw akcji, które należy wykonać, gdy warunek jest fałszywy.
  • Średnik (;) po wyrażeniu warunkowym jest koniecznością.

Sprawdź poniższe przykłady demonstrujące użycie instrukcji if-else w skrypcie Bash:

Przykład 1

Poniższy przykład składa się z dwóch różnych scenariuszy, w których w pierwszej instrukcji if-else warunek jest prawdziwy, a w drugiej instrukcji if-else warunek jest fałszywy.

 #!/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 

Wyjście

listy CSS
Instrukcja Bash If Else

W pierwszym wyrażeniu if-else warunek ( 10 -gt 3 ) jest prawdziwy i dlatego wykonywana jest instrukcja w bloku if. Podczas gdy w innym wyrażeniu if-else warunek ( 3 -gt 10 ) jest fałszywy i dlatego wykonywana jest instrukcja z bloku else.

Przykład 2

W tym przykładzie wyjaśniliśmy, jak używać wielu warunków z instrukcją if-else w Bash. Do łączenia wielu warunków używamy operatorów logicznych 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 

Wyjście

Instrukcja Bash If Else

Bash Instrukcja If Else w jednym wierszu

Możemy napisać pełną instrukcję if-else wraz z poleceniami w jednym wierszu. Aby użyć instrukcji if-else w jednym wierszu, należy przestrzegać podanych zasad:

  • Użyj średnika (;) na końcu instrukcji w blokach if i else.
  • Aby dołączyć wszystkie instrukcje, użyj spacji jako separatora.

Poniżej podano przykład pokazujący, jak używać instrukcji if-else w jednym wierszu:

Przykład

 #!/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 

Wyjście

Gdy wprowadzimy wartość 25, wynik będzie wyglądał następująco:

Instrukcja Bash If Else

Bash zagnieżdżony, jeśli jest inaczej

Podobnie jak zagnieżdżona instrukcja if, instrukcja if-else może być również użyta wewnątrz innej instrukcji if-else. W skryptach Bash nazywa się to zagnieżdżonym if-else.

Poniżej znajduje się przykład wyjaśniający, jak wykorzystać zagnieżdżoną instrukcję if-else w Bash:

Przykład

 #!/bin/bash read -p &apos;Enter a value:&apos; value if [ $value -gt 9 ]; then if [ $value -lt 11 ]; then echo &apos;$value&gt;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'>