Verwenden von booleschen Variablen in Shell -Skriptensyntax, Beispielen und Best Practices
- 3013
- 207
- Marleen Weight
Boolesche Variablen sind ein wesentlicher Bestandteil der Programmierung, da sie wahre oder falsche Werte darstellen und häufig zur Steuerung des Flusses eines Skripts verwendet werden. Beim Shell -Skripting werden Boolesche Variablen verwendet, um Entscheidungen zu treffen, Schleifen zu steuern und die bedingte Ausführung zu verwalten. Dieser Artikel bietet einen umfassenden Leitfaden zur Erklärung und Verwendung von booleschen Variablen in verschiedenen Schalen wie Bash, ZSH und KSH. Wir werden auch gemeinsame Anwendungsfälle für Boolesche Variablen in Shell-Skripten, Tipps und Best Practices für die Arbeit mit booleschen Variablen untersuchen und Beispiele für die Verwendung von Booleschen Variable in realen Shell-Skripten angeben.
Einführung
Beim Shell -Skripting werden boolesche Variablen in der Regel als Ganzzahlen dargestellt, mit 0 Repräsentation WAHR Und 1 Repräsentation FALSCH. Diese Konvention basiert auf der Tatsache, dass UNIX-Befehle und -Verträge normalerweise einen 0-Exit-Status zurückgeben, um den Erfolg und einen Status ungleich Null anzuzeigen, um einen Fehler anzuzeigen.
Boolesche Variablen in verschiedenen Schalen deklarieren und verwenden
- Verprügeln
In Bash können Sie boolesche Variablen mithilfe von Ganzzahlwerten darstellen. Um eine boolesche Variable zu deklarieren, weisen Sie einfach den Wert 0 für true oder 1 für false zu:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # truis_error = 1 # false Verwenden Sie die folgende Syntax, um eine Boolesche Variable in einer bedingten Anweisung zu verwenden:
if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi12345 if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi - ZSH
Der Prozess der Deklaration und Verwendung von booleschen Variablen in ZSH ähnelt Bash:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # truis_error = 1 # false Verwenden einer booleschen Variablen in einer bedingten Anweisung in ZSH:
if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi12345 if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi - Ksh
In Kornshell (KSH) können Sie auch boolesche Variablen unter Verwendung von Ganzzahlwerten darstellen:
is_valid = 0 # true is_error = 1 # false12 is_valid = 0 # truis_error = 1 # false Verwenden einer booleschen Variablen in einer bedingten Anweisung in KSH:
if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi12345 if [$ is_valid -eq 0]; dann echo "Die Eingabe ist gültig."sonst echo" Die Eingabe ist ungültig."Fi
Häufige Anwendungsfälle für Boolesche Variablen in Shell -Skripten
Boolesche Variablen werden häufig in Shell -Skripten verwendet, um:
- Steuern Sie den Fluss eines Skripts basierend auf Befehls -Exit -Status
- Validieren Sie die Benutzereingabe oder überprüfen Sie die Existenz von Dateien oder Verzeichnissen
- Verwalten Sie die bedingte Ausführung von Befehlen oder Funktionen
- Kontrollschleifen wie und bis zu Schleifen
Tipps und Best Practices für die Arbeit mit Booleschen Variablen
- Verwenden Sie immer 0 für True und 1 für False, um die Konsistenz mit UNIX -Konventionen aufrechtzuerhalten.
- Verwenden Sie sinnvolle Variablennamen, die den Zweck der booleschen Variablen eindeutig anzeigen.
- Verwenden Sie bei Verwendung von Booleschen Variablen in bedingten Aussagen immer den -eq -Operator, um die Werte zu vergleichen.
- Erwägen Sie, in komplexen Skripten Funktionen zu verwenden, um verwandte booleale Operationen zu verkörpern und die Lesbarkeit zu verbessern.
Beispiele für die Verwendung von Booleschen Variablen in realen Shell-Skripten
Hier ist ein Beispiel für ein Bash -Skript, das eine boolesche Variable verwendet, um eine Weile -Schleife zu steuern:
#!/bin/bash is_running = 0 counter = 0 wobei [$ is_running -eq 0]; counter = $ ((counter + 1)) echo "laufe iteration $ counter", wenn [$ counter -ge 5]; dann is_running = 1 fi sleep 1 fertig Echo "Die Schleife hat abgeschlossen."1234567891011121314151617 | #!/bin/bash is_running = 0Counter = 0 wobei [$ is_running -eq 0]; counter = $ ((counter + 1)) echo "laufe iteration $ counter", wenn [$ counter -ge 5]; dann is_running = 1 fi schlaf 1done echo "Die Schleife hat abgeschlossen." |
In diesem Beispiel die 'läuft' Die boolesche Variable wird zunächst auf eingestellt '0' (wahr), verursachen die Ausführung der while -Schleife. Die Schleife erhöht die 'Schalter' Variable mit jeder Iteration und überprüft, ob die 'Schalter' hat den Wert von erreicht oder übertroffen 5. Wenn der Zustand erfüllt ist, die 'läuft' Variable wird auf eingestellt '1' (falsch), Beenden der Schleife.
Ein weiteres Beispiel ist ein Shell -Skript, das überprüft, ob eine Datei vorliegt und eine booleale Variable entsprechend festgelegt wird:
#!/bin/bash fileName = "Beispiel.txt "file_exists = 1 if [-e" $ Dateiname "]; dann file_exists = 0 echo" Die Datei $ Dateiname existiert."else echo" Die Datei $ Dateiname existiert nicht."fi if [$ file_exists -eq 0]; dann echo", die Operationen in der vorhandenen Datei ausführen ... " # Fügen Sie Ihre Dateioperationen hier hinzu. Ansonsten echo" Überspringen von Dateioperationen ... "FI123456789101112131415161718 | #!/bin/bash fileName = "Beispiel.txt "file_exists = 1 if [-e" $ Dateiname "]; dann file_exists = 0 echo" Die Datei $ Dateiname existiert."else echo" Die Datei $ Dateiname existiert nicht."fi if [$ file_exists -eq 0]; dann echo" Ausführen von Vorgängen in der vorhandenen Datei… " # Fügen Sie Ihre Dateioperationen hier hinzu |
In diesem Skript die Datei existiert Die boolesche Variable wird basierend auf der Existenz der angegebenen Datei festgelegt. Das Skript verwendet dann diese Variable, um Dateioperationen bedingt auszuführen, wenn die Datei vorliegt.
Abschluss
Das Beherrschen von booleschen Variablen im Shell -Skripting ist für das Schreiben effizienter, robuster und gewartbarer Skripte unerlässlich. Durch das Verständnis der Syntax für die Erklärung und Verwendung von booleschen Variablen in verschiedenen Shells können Sie Skripte erstellen, die Entscheidungen treffen, Schleifen steuern und die bedingte Ausführung effektiv verwalten. Denken Sie immer daran, klare Variablennamen zu verwenden, die Konsistenz mit UNIX -Konventionen beizubehalten und bewährte Verfahren zu befolgen, um sicherzustellen, dass Ihre Skripte leicht zu lesen und zu verstehen sind.
- « (Gelöst) Warntaste ist veraltet. Verwalten Sie Schlüsselringdateien in vertrauenswürdiger.gpg.D stattdessen
- So konfigurieren Sie CORs in Amazon S3 -Eimer »