Używanie zmiennych logicznych w składni skorupy, przykładach i najlepszych praktykach
- 574
- 58
- Tomasz Szatkowski
Zmienne logiczne są istotną częścią programowania, ponieważ reprezentują wartości prawdziwe lub fałszywe i są często używane do kontrolowania przepływu skryptu. W składzie skorupy zmienne logiczne są wykorzystywane do podejmowania decyzji, kontroli pętli i zarządzania wykonaniem warunkowym. Ten artykuł zawiera kompleksowy przewodnik po deklarowaniu i użyciu zmiennych logicznych w różnych skorupach, takich jak Bash, ZSH i KSH. Będziemy również zbadać powszechne przypadki użycia zmiennych logicznych w skłonnościach, dzielenia się wskazówkami i najlepszymi praktykami do pracy ze zmiennymi logicznymi, i zapewniono przykłady użytkowania zmiennych logicznych w scenariuszach powłoki w świecie rzeczywistym.
Wstęp
W skłonności skorupy zmienne logiczne są zazwyczaj reprezentowane jako liczby całkowite, z 0 reprezentujący PRAWDA I 1 reprezentujący FAŁSZ. Konwencja opiera się na fakcie, że polecenia i narzędzia UNIX zwykle zwracają status wyjścia 0, aby wskazać sukces i status niezerowy, aby wskazać awarię.
Deklarowanie i używanie zmiennych logicznych w różnych skorupach
- Grzmotnąć
W Bash możesz reprezentować zmienne logiczne za pomocą wartości całkowitych. Aby zadeklarować zmienną logiczną, po prostu przypisz wartość 0 dla True lub 1 dla fałszu:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Aby użyć zmiennej logicznej w instrukcji warunkowej, użyj następującej składni:
jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi12345 jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi - Zsh
Proces deklarowania i używania zmiennych logicznych w ZSH jest podobny do Bash:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Korzystanie z zmiennej logicznej w instrukcji warunkowej w ZSH:
jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi12345 jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi - Ksh
W Kornshell (KSH) możesz także reprezentować zmienne logiczne przy użyciu wartości całkowitych:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # trueis_error = 1 # false Korzystanie z zmiennej logicznej w instrukcji warunkowej w KSH:
jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi12345 jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi
Wspólne przypadki użycia zmiennych logicznych w skontlerze
Zmienne logiczne są często używane w skorupach skorupowych do:
- Kontroluj przepływ skryptu oparty na statusach wyjścia z poleceń
- Sprawdzaj wejście użytkownika lub sprawdź istnienie plików lub katalogów
- Zarządzaj warunkowym wykonywaniem poleceń lub funkcji
- Pętle kontrolne, takie jak poby
Wskazówki i najlepsze praktyki pracy ze zmiennymi logicznych
- Zawsze używaj 0 dla True i 1 dla fałszywych, aby zachować spójność z konwencjami Unix.
- Użyj znaczących nazw zmiennych, które wyraźnie wskazują na cel zmiennej logicznej.
- Podczas korzystania z zmiennych logicznych w instrukcjach warunkowych zawsze używaj operatora -eq, aby porównać wartości.
- W złożonych skryptach rozważ użycie funkcji w celu zamknięcia powiązanych operacji boolowskich i poprawy czytelności.
Przykłady użytkowania zmiennych logicznych w rzeczywistych skłonnościach skorupowych
Oto przykład skryptu Bash, który wykorzystuje zmienną logiczną do kontrolowania pętli:
#!/bin/bash is_running = 0 licznik = 0, podczas gdy [$ is_running -eq 0]; Do Counter = $ ((licznik + 1)) echo „Uruchamianie iteracji $ counter”, jeśli [$ Counter -ge 5]; wtedy is_running = 1 fi sleep 1 wykonane echo ”pętla zakończyła się."1234567891011121314151617 | #!/bin/bash is_Running = 0counter = 0, podczas gdy [$ is_running -eq 0]; Do Counter = $ ((licznik + 1)) echo „Uruchamianie iteracji $ counter”, jeśli [$ Counter -ge 5]; wtedy is_running = 1 fi sleep 1done echo „Pętla zakończyła się." |
W tym przykładzie 'biegnie' Zmienna logiczna jest początkowo ustawiona „0” (prawda), powodując wykonanie pętli While. Pętla zwiększa 'lada' zmienna z każdą iteracją i sprawdza, czy 'lada' osiągnął lub przekroczył wartość 5. Jeśli warunek jest spełniony, 'biegnie' zmienna jest ustawiona na „1” (fałsz), zakończenie pętli.
Innym przykładem jest skrypt powłoki, który sprawdza, czy plik istnieje i odpowiednio ustawia zmienną logiczną:
#!/bin/bash filename = "przykład.txt "file_exists = 1 if [-e" $ filename "]; następnie plik_exists = 0 echo" Plik $ Filename istnieje.„else echo” plik $ nazwa pliku nie istnieje.„Fi, jeśli [$ plik_exists -eq 0]; następnie echo” wykonywanie operacji w istniejącym pliku… ” # Dodaj operacje plików tutaj echo„ Pomijanie operacji plików… ”FI123456789101112131415161718 | #!/bin/bash filename = "przykład.txt "file_exists = 1 if [-e" $ filename "]; następnie plik_exists = 0 echo" Plik $ Filename istnieje.„else echo” plik $ nazwa pliku nie istnieje.„Fi, jeśli [$ plik_exists -eq 0]; następnie echo” wykonywanie operacji w istniejącym pliku… ” # Dodaj operacje plików neri echo„ Operacje pomijania plików… ”FI |
W tym skrypcie plik istnieje Zmienna logiczna jest ustawiona na podstawie istnienia określonego pliku. Następnie skrypt używa tej zmiennej do warunkowego wykonywania operacji plików, jeśli plik istnieje.
Wniosek
Opanowanie zmiennych logicznych w skonstrukcji jest niezbędne do pisania wydajnych, solidnych i możliwych do utrzymania skryptów. Zrozumienie składni do deklarowania i używania zmiennych logicznych w różnych powłokach, możesz tworzyć skrypty, które podejmują decyzje, kontrolują pętle i skutecznie zarządzają wykonaniem warunkowym. Zawsze pamiętaj, aby używać wyraźnych nazw zmiennych, zachować spójność z konwencjami UNIX i przestrzegać najlepszych praktyk, aby upewnić się, że skrypty są łatwe do odczytania i zrozumienia.
- « (Rozwiązane) Ostrzeżenie apt key jest przestarzałe. Zarządzaj plikami lądowymi w zaufanym.GPG.D zamiast tego
- Jak skonfigurować CORS w wiadrach Amazon S3 »