Ten samouczek pokaże Ci, jak używać instrukcji warunkowych, aby sprawdzić, czy zmienna jest pusta, a następnie wykonać akcję po fakcie. Takie akcje mogą obejmować zapętlenie bloku kodu, dopóki zmienna nie będzie pusta, zamknięcie lub po prostu ostrzeżenie użytkownika, że zmienna jest pusta.
Zanim zaczniemy, przyda się, jeśli znasz podstawowe skrypty Bash.
Bash Basic – Zmienne 101
Zmienne są podstawowymi elementami budulcowymi każdego prawdziwego języka programowania, a Bash używa zmiennych. Zmienne to kontenery danych używane do przechowywania wartości do wykorzystania w późniejszych sekcjach programu.
Aby stworzyć prostą zmienną w Bash używamy nazwy zmiennej.
Na przykład:
#!/kosz/bash$i_am
Po zainicjowaniu zmiennej możesz przypisać jej wartość, używając znaku równości jako:
#!/kosz/bash
ja jestem=ubuntu
Po zadeklarowaniu i przypisaniu można go wywołać, po prostu odwołując się do niego po nazwie jako:
#!/kosz/bashwyrzucił $i_am
Spowoduje to zwrócenie wartości przechowywanej w zmiennej, jak pokazano na poniższym zrzucie ekranu.
NOTATKA: Odwoływanie się do zmiennej zarówno w cudzysłowach pojedynczych, jak i podwójnych daje różne wyniki. Zmienna wewnątrz pojedynczych cudzysłowów stanie się literałem ciągu, podczas gdy w cudzysłowie jest traktowana jak nazwa zmiennej.
Oto przykład:
Teraz, gdy znamy już podstawy zmiennych w Bash, możemy przejść do instrukcji warunkowych i sprawdzania, czy zmienna jest pusta.
Aby uzyskać szczegółowy przewodnik na temat tworzenia zmiennych bash, zapoznaj się z poniższym zasobem:
https://linuxhint.com/variables_bash/
Podstawy Bash – instrukcje If
Jeśli instrukcje są kolejnym podstawowym blokiem programistycznym, a Bash byłby bez nich kaleką. Pozwalają nam na wykonanie akcji, jeśli warunek jest prawdziwy lub fałszywy.
Zróbmy krótkie podsumowanie tego, jak używać Bash, jeśli, jeśli… w przeciwnym razie i jeśli… elif… w przeciwnym razie
Jeśli S zeznanie
Ogólna składnia użycia instrukcji if w Bash jest pokazana poniżej:
#!/kosz/bashJeśli {stan: schorzenie}
następnie
robić
być
Instrukcję if rozpoczynamy od wywołania słowa kluczowego if. Następnie następuje określenie warunku do sprawdzenia. Warunek może być prostym lub złożonym wyrażeniem, o ile ma wartość prawda lub fałsz.
Następnie ustawiamy słowo kluczowe, które określa blok kodu do uruchomienia, jeśli warunek zostanie spełniony.
Na koniec zamykamy instrukcję if za pomocą słowa kluczowego fi.
Jeśli…inne stwierdzenia
Instrukcja bash if…else określa dodatkową akcję, jeśli warunek ma wartość false. Ogólna składnia to:
#!/kosz/bashJeśli {stan: schorzenie}
następnie
robić
w przeciwnym razie
robić
być
Przykładowy przypadek użycia
Pozwolę sobie posłużyć się prostym przykładem ilustrującym użycie instrukcji if.
Instrukcja if jest taka, jak pokazano poniżej:
#!/kosz/bashna jednego=1
Jeśli [[ $liczba -gt5 ]]
następnie
wyrzucił '$liczbajest większe niż 5'
w przeciwnym razie
wyrzucił '$liczbajest mniej niż 5'
być
Dane wyjściowe są pokazane poniżej:
Skoro mamy już rozwinięte podstawy instrukcji if, przejdźmy do tego samouczka.
Sprawdź, czy oświadczenia w szczegółach poniżej:
https://linuxhint.com/bash_conditional_statement/
Jak sprawdzić, czy zmienna jest pusta?
Popularnym i prostym sposobem sprawdzenia, czy zmienna jest pusta, jest użycie opcji -z w instrukcji warunku.
-z $zmienna zwraca prawdę, jeśli zmienna jest pusta, i fałsz, jeśli nie.
Ogólna składnia takiego testu to:
#!/kosz/bashJeśli [[ -z $ var ]]
następnie
robić
w przeciwnym razie
robić
być
Przykładowy skrypt
Zilustrujmy prosty skrypt, który emuluje polecenie cd i nawiguje we wskazanym katalogu.
Rozważ poniższy skrypt:
#!/kosz/bashwyrzucił 'Wprowadź ścieżkę, aby przejść do: '
czytać_ścieżka
podczas [[ -z $_ścieżka ]];robić
wyrzucił „Proszę podać ścieżkę”
Gotowe
wyrzucił „Nawigacja do$_ścieżka'
Płyta CD $_ścieżka
Po wykonaniu powyższego zapytania otrzymujemy dane wyjściowe, jak pokazano poniżej.
Skrypt rozpoczyna się od poproszenia użytkownika o wejście do katalogu, do którego ma przejść. Następnie sprawdza, czy zmienna jest pusta. Jeśli jest pusta, rekursywnie pyta użytkownika o ścieżkę, dopóki zmienna nie będzie pusta.
Gdy ścieżka jest dostępna, przechodzi do ustawionego katalogu i drukuje status.
Wniosek
Ten krótki samouczek pokazał, jak sprawdzić, czy zmienna jest pusta, używając flagi -z. To sprawdza, czy długość zmiennej wynosi 0, a jeśli 0, zmienna jest pusta. Może to być bardzo przydatne, gdy chcesz, aby wartość zmiennej była prawdziwa przed kontynuowaniem.
Możesz również połączyć powyższe stwierdzenie z innymi wyrażeniami, aby stworzyć złożone narzędzie, jeśli zmienna jest pusta lub nie.
Dziękuję i życzę miłego pisania skryptów!!