Bash, jeśli, inaczej, jeśli inaczej przykłady

Bash, jeśli, inaczej, jeśli inaczej przykłady
W tym samouczku wskazów Linux będziemy nauczyć warunku scenariuszy bash JEŚLI, Elif I W PRZECIWNYM RAZIE polecenia. JEŚLI Stan jest najbardziej podstawowym sposobem podjęcia warunków w skryptach bash, dzięki czemu ważne jest, aby mocno uchwycić składnię i opcje produktywności. Podczas używania JEŚLI Warunki w Bash, możesz opcjonalnie wprowadzić Elif Warunki, które zapewnią różne działania w zależności od grupy warunków PRAWDA. Dodatkowo W PRZECIWNYM RAZIE Warunek można opcjonalnie uwzględnić, co zapewni kod do wykonania, jeśli żaden z warunków w grupie nie zostanie spełniony.

Konkretne przykłady pokazane w tym artykule obejmują:

  1. Przykład 1: Jeśli instrukcja w Bash on String Equality
  2. Przykład 2: Jeśli instrukcja w BASH O FAMER RAMITATY
  3. Przykład 3: Jeśli instrukcja w Bash na mniejszej liczbie
  4. Przykład 4: Jeśli instrukcja w Bash z logiką i operatorem
  5. Przykład 5: Jeśli instrukcja w Bash z logiczną lub operatorem
  6. Przykład 6: Warunek ELIF w Bash
  7. Przykład 7: If Else Instrukcja w skryptach Bash

Ogólna składnia Bash, jeśli Elif Else

Poniżej znajduje się ogólna składnia JEŚLI Elif I W PRZECIWNYM RAZIE W Bash:

Jeśli warunek-test; Następnie
Kod do Execute-1
ELIF NEXT CONNARDITION-to TEST; Następnie
Kod do execute-2
ELIF NEXT CONNARDITION-to TEST; Następnie
Kod do execute-2
w przeciwnym razie
Kod do execute-2
fi

Uwaga: W powyższej ogólnej składni można uwzględnić zero, jeden lub wielokrotność Elif Warunki w bloku kodu i W PRZECIWNYM RAZIE Warunek jest opcjonalny.

Budowa rzeczywistych warunków ma wiele opcji, ponieważ składnia Bash ma tak wiele różnych funkcji i opcji, ale bardzo podstawowym szablonem dla twoich scenariuszy Bash byłoby użycie [[ Składnia podwójnego oddechu, jak pokazano w ogólnym przykładzie składni i konkretnych przykładów poniżej.

jeśli [[warunek-test]]; Następnie
Kod do Execute-1
elif [[Next-Condition-to-Test]]; Następnie
Kod do execute-2
elif [[Next-Condition-to-Test]]; Następnie
Kod do execute-2
w przeciwnym razie
Kod do execute-2
fi

Uwaga: to w zależności od sformatowania estetyki kodu możesz polubić wówczas w tej samej linii warunków lub możesz wybrać ją w następnym wierszu, jak pokazano poniżej:

Jeśli [[warunek-test]]
Następnie
Kod do Execute-1
Elif [[Next Condition-to-Test]]
Następnie
Kod do execute-2
Elif [[Next Condition-to-Test]]
Następnie
Kod do execute-2
w przeciwnym razie
Kod do execute-2
fi

Teraz pokażemy określone przykłady podstawowych odmian JEŚLI Elif I W PRZECIWNYM RAZIE Warunki w roboczych przykładach poniżej.

Przykład 1: Jeśli instrukcja w Bash on String Equality

#!/bin/bash
Przeczytaj -p „Wprowadź mate Word:” User_input
jeśli [[$ user_input == "hello"]]; Następnie
Echo „Witam również”
fi

W tym powyższym przykładzie używamy podstawowego JEŚLI Warunek z pojedynczym testem równości ciągów, a następnie wydrukuj pewne dane wyjściowe w przypadku, gdy warunek jest prawdziwy w oparciu o dane wejściowe od użytkownika. Uwaga, możesz umieścić NASTĘPNIE stwierdzenie w następnym wierszu, jeśli wolisz ten styl. Zobacz przykładowe wyniki poniżej:

Linuxhint@: ~ $ bash t1.cii
Wprowadź słowo meczowe: Hello
Witam również z tobą
Linuxhint@: ~ $ bash t1.cii
Wprowadź słowo meczowe: pa
Linuxhint@: ~ $

Przykład 2: Jeśli instrukcja w BASH O FAMER RAMITATY

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
jeśli [[$ user_input -eq 7]]; Następnie
Echo „7 to szczęśliwy numer”
fi

W tym powyższym przykładzie znowu robimy proste JEŚLI warunek, ale w tym przypadku pokazujemy, jak dokonać porównania testu na wartościach liczbowych. Poniższe wyjście możesz zobaczyć zarówno z warunkami pasującymi, jak i nie pasującymi:

Linuxhint@: ~ $ bash t2.cii
Wprowadź numer: 7
7 to szczęśliwy numer
Linuxhint@: ~ $ bash t2.cii
Wprowadź numer: 8
Linuxhint@: ~ $

Przykład 3: Jeśli instrukcja w Bash na mniejszej liczbie

Oprócz -Eq Dla równości możesz również spróbować -lt -le -gt -ge Warunki testowe dla mniej niż, mniejszych lub równych, odpowiednio większych niż większych lub większych niż więcej lub równych. Poniżej znajduje się podobny przykład z mniejszym operatorem -Lt:

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
jeśli [[$ user_input -lt 100]]; Następnie
echo „Twój wpis jest mniej niż sto”
fi

Wyjście dla tego skryptu będą mogły przetestować, czy wejście jest mniejsze niż 100 i uruchomić określony kod w tym stanie:

Linuxhint@: ~ $ bash t3.cii
Wprowadź numer: 99
Twój wpis jest mniej niż sto
Linuxhint@: ~ $ bash t3.cii
Wprowadź numer: 101
Linuxhint@: ~ $

Przykład 4: Jeśli instrukcja w Bash z logiką i operatorem

Ten przykład pokaże, jak połączyć wiele warunków z logicznym I stan. Możesz także użyć logiki LUB Warunki w twoim JEŚLI Konstrukty instrukcji. Logiczny I W kodzie bash jest napisane z podwójnym ampersandem &&. Poniżej znajduje się przykład logicznego I w bash JEŚLI stan : schorzenie:

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
jeśli [[$ user_input -gt 9 && $ user_input -lt 100]]; Następnie
echo „Twój wpis jest dwie cyfry”
fi

Przetestujemy to z różnymi wyjściami, aby udowodnić, że tylko wtedy, gdy zarówno pierwszy, jak i drugi warunek są prawdziwe, wyjście zostanie wydrukowane:

Linuxhint@: ~ $ bash t4.cii
Wprowadź numer: 22
Twój wpis to dwie cyfry
Linuxhint@: ~ $ bash t4.cii
Wprowadź numer: 8
Linuxhint@: ~ $ bash t4.cii
Wprowadź numer: 100
Linuxhint@: ~ $ bash t4.cii
Wprowadź numer: 99
Twój wpis to dwie cyfry

Przykład 5: Jeśli instrukcja w Bash z logiczną lub operatorem

Logiczny LUB W skryptach bash jest pisane z podwójnymi pionowymi prętami ||. Wypróbujmy poprzedni przykład ponownie z niewielką zmiennością, aby przetestować przykład logicznego lub operatora:

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
Jeśli [[$ user_input -lt 10 || $ User_input -ge 100]]; Następnie
echo „Twój wpis nie jest dwoma cyframi”
fi

W tym przykładzie logika LUB Operator łączy dwa warunki i tylko jeden z nich lub oba może być prawdziwe, aby warunek był ogólnie prawdziwy, a kod do wykonania. Pokazujemy również -ge operator dla większego lub równego porównania liczbowego w powyższym przykładzie. Skrypt działa zgodnie z oczekiwaniami w poniższym wyjściu:

Linuxhint@: ~ $ bash t5.cii
Wprowadź numer: 3
Twój wpis nie ma dwóch cyfr
Linuxhint@: ~ $ bash t5.cii
Wprowadź numer: 10
Linuxhint@: ~ $ bash t5.cii
Wprowadź numer: 99
Linuxhint@: ~ $ bash t5.cii
Wprowadź numer: 100
Twój wpis nie ma dwóch cyfr
Linuxhint@: ~ $ bash t5.cii
Wprowadź numer: 101
Twój wpis nie ma dwóch cyfr

Przykład 6: Warunek ELIF w Bash

Teraz podamy przykład wielu warunków w bloku kodu z Elif. Możesz mieć zero, jeden lub multipe Elif Warunki w bloku kodu. W tym przykładzie zapewnimy dwa Elif warunki jako demonstracja, ale możesz użyć dowolnej liczby Elif bloki w praktyce.

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
jeśli [[$ user_input -lt 0]]; Następnie
echo „Niezbyt poprawne wejście numeru dodatniego”
elif [[$ user_input -gt 0 && $ user_input -lt 10]]; Następnie
Echo „Wprowadzony 1 cyfra 1 cyfra”
elif [[$ user_input -gt 9 && $ user_input -lt 100]]; Następnie
Echo „Wprowadzony 2 -cyfrowy numer”
fi

Przetestujemy ten kod z różnymi liczbami, aby zademonstrować, jeśli lub Elif Stan jest wyzwalany:

Linuxhint@: ~ $ bash t6.cii
Wprowadź numer: -1
Niezbyt ważne dane wejściowe numeru dodatniego
Linuxhint@: ~ $ bash t6.cii
Wprowadź numer: 1
Wprowadzony 1 cyfra 1 cyfra
Linuxhint@: ~ $ bash t6.cii
Wprowadź numer: 14
Wprowadzony 2 -cyfrowy numer 2 -cyfrowy
Linuxhint@: ~ $ bash t6.cii
Wprowadź numer: 101
Linuxhint@: ~ $

Przykład 7: If Else Instrukcja w skryptach Bash

Teraz będziemy zademonstrować W PRZECIWNYM RAZIE stan. W PRZECIWNYM RAZIE Warunek jest stosowany w przypadku, gdy JEŚLI warunek lub wszystkie Elif Warunki nie istnieją, wtedy W PRZECIWNYM RAZIE zostanie użyty warunek, a kod w W PRZECIWNYM RAZIE Warunek zostanie wykonany. Dodajmy przykład W PRZECIWNYM RAZIE warunek do poprzedniego przykładu, ale jasne Elif nie jest wymagane do wykorzystania W PRZECIWNYM RAZIE stan. W PRZECIWNYM RAZIE Warunki można stosować z JEŚLI Stan i nie Elif stan.

#!/bin/bash
odczyt -p „Wprowadź numer:” user_input
jeśli [[$ user_input -lt 0]]; Następnie
echo „Niezbyt poprawne wejście numeru dodatniego”
elif [[$ user_input -gt 0 && $ user_input -lt 10]]; Następnie
Echo „Wprowadzony 1 cyfra 1 cyfra”
elif [[$ user_input -gt 9 && $ user_input -lt 100]]; Następnie
Echo „Wprowadzony 2 -cyfrowy numer”
w przeciwnym razie
Echo „Nie wprowadzono prawidłowego 2 -cyfrowego numeru”
fi

Przetestujmy przykładowy kod z prostym przypadkiem testowym, który powinien wpaść do W PRZECIWNYM RAZIE stan : schorzenie:

Linuxhint@: ~ $ bash t7.cii
Wprowadź numer: 199
Nie wprowadzono prawidłowego 2 -cyfrowego numeru
Linuxhint@: ~ $

WNIOSEK

Widzieliśmy, jak używać JEŚLI, Elif I W PRZECIWNYM RAZIE Warunki tworzenia warunkowego wykonywania w wielu kombinacjach w programach BASH i programach BASH. W kolejnych krokach możesz zbadać warunki testowe oraz odmiany i odmiany dostępne do testowania stanu. Możesz także rozważyć instrukcję Case Bash za alternatywę dla logiki warunkowej w skryptach Bash. Wreszcie Podręcznik referencyjny GNU Bash jest dobrym źródłem prawdy, gdy szukam dokładnych szczegółów składni.