Bash if Aussagen, wenn, elif, sonst, dann fi

Bash if Aussagen, wenn, elif, sonst, dann fi

Wenn Sie gerade erst anfangen, die Bash -Codierungssprache zu erkunden, möchten Sie bald bedingte Anweisungen erstellen. Bedingte Aussagen mit anderen Worten, "Wenn eine Bedingung wahr oder falsch ist, dann tun Sie dies oder das, und wenn das Gegenteil wahr ist, tun Sie etwas anders''. Dies ist die grundlegendste Funktion einer bedingten Anweisung.

In diesem Artikel werden Sie die fünf Basic vorstellen Wenn Aussageklauseln. Sein Wenn, elif, anders, Dann Und fi. Der erste öffnet einfach a Wenn Aussage, die Dann führt die vor Welche Befehle sollten ausgeführt werden, wenn die Anweisungsbedingung wahr war Abschnitt und der anders führt die vor Welche Befehle sollten ausgeführt werden, wenn die Anweisungsbedingung falsch war Abschnitt. Endlich, das fi Schließt die Aussage. Wir haben auch das Special elif auf was wir in einer Minute mehr sehen werden. Beginnen wir mit einem einfachen Beispiel.

In diesem Tutorial lernen Sie:

  • Wie man eine implementiert Wenn Anweisung in der Bash -Befehlszeile
  • Wie so Wenn Aussagen können auch in Bash -Skripten verwendet werden
  • Beispiele, die Ihnen die zeigen Wenn, elif, anders, Dann Und fi Klauseln in Bash
Bash if Aussagen: if, elif, sonst, dann, fi

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Linux-Verteilungsunabhängige
Software BASH -Befehlszeile, Linux -basiertes System
Andere Jedes Dienstprogramm, das standardmäßig nicht in der Bash -Shell enthalten ist sudo apt-Get Installieren Sie den Dienstprogramm (oder yum install Für Redhat -basierte Systeme)
Konventionen # - Erfordert, dass Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden sudo Befehl
$-erfordert, dass Linux-Commands als regulärer nicht privilegierter Benutzer ausgeführt werden

Beispiel 1: Einfach if Anweisung in der Befehlszeile

$ wenn [1 -eq 1]; dann echo "übereinstimmte!"; fi passte! 

In dieser Aussage vergleichen wir eins mit einem mit. Beachten Sie, dass -Gl bedeuten gleich. Um das Gegenteil zu tun, kann man gebrauchen -ne was bedeutet Nicht gleichzusetzen mit, Wie im folgenden Beispiel gezeigt:

$ wenn [0 -ne 1]; dann echo "übereinstimmte!"; fi passte! 

In diesem Fall haben wir nach Nichtgleichheit nachgeprüft, und als 0 ist ungleich zu 1 Die Wenn Aussage ist wahr und die Befehle nach dem Dann wird durchgeführt. Lassen Sie uns dies leicht ändern:

$ wenn [1 -ne 1]; dann echo "übereinstimmte!"; sonst echo" nicht übereinstimmt!"; fi nicht übereinstimmt! 

Hier haben wir eine vorgestellt anders Klausel; Welche Befehle sollten ausgeführt werden, wenn die Bedingung in der Wenn Aussage hat sich als falsch erwiesen (oder nicht wahr). Als wir versuchen zu fragen, ob 1 ist nicht gleich (-ne) Zu 1 diesmal und als 1 gleich 1 (Wich ist nicht der Fall), die darin formulierte Bedingung Wenn Aussage ist falsch und wir treffen auf unsere anders Anweisung mit dem passenden Text gedruckt.

Beispiel 2: Verwenden und wenn Anweisung aus einem Bash -Shell -Skript verwendet

Es ist gut zu beachten, dass Sie problemlos jede kopieren und einfügen können Wenn Die hier oder anderswo angezeigte Anweisung und verwenden Sie sie in einem Bash -Shell -Skript. Zum Beispiel:

$ echo '#!/bin/bash '> myScript.sh $ echo 'if [1 -eq 1]; dann echo "übereinstimmte!"; fi '>> myScript.sh $ chmod +x myscript.Sh $ ./MyScript.Sh passte! $ 
Kopieren

Hier haben wir einfach eine kleine geschaffen MyScript.Sch Shell -Skript durch Verwendung Echo und das > Redirector, um die Ausgabe von unserem umzuleiten Echo zu einer Datei. Wenn Sie verwenden > Eine neue Datei wird erstellt, und jede Datei mit demselben Namen wird überschrieben. Verwenden Sie sie bitte mit Sorgfalt. Als Nächst >> was anders als > Erstellt keine neue Datei und appendieren Sie den Text einfach an die angegebene Datei.

Nächsten wir Chmod +x das Skript, um es ausführbar zu machen und das Skript mit dem auszuführen ./ Präfix, das in Bash benötigt wird (jeder korrekte Pfadspezifizierer ist).

Die erste Zeile des Skripts besteht darin, einfach sicherzustellen, dass wir den Bash -Interpreter für unser Skript verwenden werden. Es ist eine gute Praxis, dies immer für Bash und andere Skripte festzulegen (für andere Skripte möchten Sie dies auf jeden Interpreter einstellen, der Ihr Skript ausführen wird, zum Beispiel #!/usr/bin/python3 für eine Python 3 (.PY3 Zum Beispiel) Skripte usw.).

Wenn wir das Skript ausführen, können wir sehen, dass die Ausgabe wie erwartet generiert wird ((1 Streichhölzer 1): Angepasst!.

Beispiel 3: Was ist elif?

Der elif Die Klausel bietet uns eine zusätzliche Kurzformflexibilität, die die Bedürfnisse verschachtelter Aussagen kurzschnürt ist. Folgendes berücksichtigen prüfen.Sch:

#!/bin/bash if [0 -eq 1]; dann echo '0 = 1' else wenn [0 -eq 2]; dann echo '0 = 2' sonst echo '0!= 2 'fi fi 
Kopieren

Und die Ausgabe davon:

$ ./prüfen.Sh 0!= 2 


Hier traten wir den ersten durch Wenn Erklärung und seitdem 0 stimmt nicht überein 1, Die anders Klausel wird aktiviert. Dies geschieht ein zweites Mal, wenn 0 erweist sich auch ungleich für 2 und daher die -Gl (gleich) Zustand schlägt fehl und der zweite anders Die Klausel wird aktiviert und als Ausgabe angezeigt 0!= 2. Vergleichen wir dies mit einem elif basierte Erklärung im folgenden Test2.Sch.

#!/bin/bash if [0 -eq 1]; dann echo '0 = 1' elif [0 -eq 2]; dann echo '0 = 2' sonst echo '0!= 2 'fi 
Kopieren

Und die Ausgabe davon:

$ ./test2.Sh 0!= 2 

Das Skript hat genau das gleiche getan, aber viel flexibler und kürzere, was nur eine Ebene von erforderte Wenn Anweisungstiefe und mit sauberer Gesamtcode. Beachten Sie auch, dass es möglich ist, einen zu haben Wenn Aussage gefolgt von vielen Elsef Aussagen, die es einem Entwickler ermöglichen, eine Vielzahl von Bedingungen zu testen, ist eine ordentlich aussehende einstufige Struktur.

Abschluss

In diesem Artikel haben wir Beispiele untersucht Wenn, elif, anders, Dann Und fi Klauseln in Bash. Wir haben uns auch angesehen, wie man implementiert Wenn Aussagen in der Bash -Befehlszeile. Wir haben uns auch angesehen, solche Aussagen in Bash -Skripte zu bewegen. Genießen Wenn Aussagen in Bash und hinterlassen Sie einige Gedanken mit Ihrem Besten Wenn Tipps und Tricks!

Und für einen etwas fortgeschritteneren Blick auf was Wenn kann für Sie für Sie tun, wenn sie mit Unterschalen kombiniert werden, können Sie unsere Bash -Unterschalen im Inneren if Anweisungsartikel verwenden!

Verwandte Linux -Tutorials:

  • Mastering -Bash -Skriptschleifen beherrschen
  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Dinge zu installieren auf Ubuntu 20.04
  • Verschachtelte Schleifen in Bash -Skripten
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Bash Scripting: Bedingungen
  • So verwenden Sie Bash -Unterschalen im Inneren, wenn Anweisungen
  • Schleifen mit Beispielen verprügeln
  • Mint 20: Besser als Ubuntu und Microsoft Windows?
  • Ubuntu 20.04 Leitfaden