Używanie zmiennych logicznych w składni skorupy, przykładach i najlepszych praktykach

Używanie zmiennych logicznych w składni skorupy, przykładach i najlepszych praktykach

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

  1. Grzmotnąć
  2. 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 # false
    12is_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.„Fi
    12345jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi

  3. Zsh
  4. Proces deklarowania i używania zmiennych logicznych w ZSH jest podobny do Bash:

    is_valid = 0 # true is_error = 1 # false
    12is_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.„Fi
    12345jeśli [$ is_valid -eq 0]; następnie echo „Wejście jest prawidłowe.„else echo” Wejście jest nieprawidłowe.„Fi

  5. Ksh
  6. W Kornshell (KSH) możesz także reprezentować zmienne logiczne przy użyciu wartości całkowitych:

    is_valid = 0 # true is_error = 1 # false
    12is_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.„Fi
    12345jeś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:

  1. Kontroluj przepływ skryptu oparty na statusach wyjścia z poleceń
  2. Sprawdzaj wejście użytkownika lub sprawdź istnienie plików lub katalogów
  3. Zarządzaj warunkowym wykonywaniem poleceń lub funkcji
  4. Pętle kontrolne, takie jak poby

Wskazówki i najlepsze praktyki pracy ze zmiennymi logicznych

  1. Zawsze używaj 0 dla True i 1 dla fałszywych, aby zachować spójność z konwencjami Unix.
  2. Użyj znaczących nazw zmiennych, które wyraźnie wskazują na cel zmiennej logicznej.
  3. Podczas korzystania z zmiennych logicznych w instrukcjach warunkowych zawsze używaj operatora -eq, aby porównać wartości.
  4. 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… ”FI
123456789101112131415161718#!/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.