Bash if Aussagen, wenn, elif, sonst, dann fi
- 673
- 185
- Susanne Stoutjesdijk
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
Undfi
Klauseln in Bash
Softwareanforderungen und Konventionen verwendet
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
- « So entfernen Sie Apache Webserver von Ubuntu
- Prozesslistenverwaltung und automatische Prozessabschluss »