Das Ausführen von zwei oder mehr Befehlen in einer Zeile kann Ihnen viel Zeit sparen und Ihnen helfen, unter Linux effizienter und produktiver zu werden.
Es gibt drei Möglichkeiten, wie Sie unter Linux mehrere Befehle in einer Zeile ausführen können:
; | Befehl 1 ; Befehl 2 | Führen Sie zuerst Befehl 1 und dann Befehl 2 aus |
&& | Befehl 1 && Befehl 2 | Befehl 2 nur ausführen, wenn Befehl 1 erfolgreich beendet wurde |
|| | Befehl 1 || Befehl 2 | Befehl 2 nur ausführen, wenn Befehl 1 fehlschlägt |
Lassen Sie mich Ihnen im Detail zeigen, wie Sie unter Linux Befehle verketten können.
Verwenden von ; um mehrere Linux-Befehle in einer Zeile auszuführen
Die einfachste von allen ist das Semikolon (;). Sie kombinieren einfach mehrere Befehle, die Sie ausführen möchten, indem Sie ; auf folgende Weise:
cmd1; cmd2; cmd3
Hier wird cmd1 zuerst ausgeführt. Unabhängig davon, ob cmd1 erfolgreich oder fehlerhaft ausgeführt wird, wird cmd2 danach ausgeführt. Und wenn der Befehl cmd2 beendet ist, wird cmd3 ausgeführt.
Nehmen wir ein example Sie können leicht üben (wenn Sie möchten).
mkdir new_dir; cd new_dir; pwd
Im obigen Befehl erstellen Sie zuerst ein neues Verzeichnis namens new_dir mit dem Befehl mkdir. Dann wechseln Sie mit dem Befehl cd in dieses neu erstellte Verzeichnis. Zuletzt drucken Sie Ihren aktuellen Standort mit dem Befehl pwd aus.
Ausführen mehrerer Befehle Linux mit ;
Das Leerzeichen nach dem Semikolon (;) ist optional, macht aber die Befehlskette leicht lesbar.
Mit && mehrere Linux-Befehle ausführen
Manchmal möchten Sie sicherstellen, dass in der Kette der Linux-Befehle die nächster Befehl wird nur ausgeführt, wenn der vorherige Befehl erfolgreich beendet wurde. Hier kommt der logische UND-Operator && ins Bild:
cmd1 && cmd2 && cmd3
Wenn Sie Ubuntu- oder Debian-basierte Distributionen verwenden, müssen Sie auf diesen Befehl gestoßen sein, der das &&-Konzept verwendet:
sudo apt update && sudo apt upgrade
Hier der erste Befehl (sudo apt update) aktualisiert zuerst den Cache der Paketdatenbank. Wenn kein Fehler auftritt, werden alle Pakete aktualisiert, für die neuere Versionen verfügbar sind.
Nehmen wir früher example. Wenn new_dir bereits existiert, gibt der Befehl mkdir einen Fehler zurück. Der Unterschied im Verhalten von ; und && sind im Screenshot unten zu sehen:
Haben Sie gesehen, wie durch && getrennte Befehle gestoppt wurden, als der erste Befehl zu einem Fehler führte?
Verwenden von || mehrere Linux-Befehle gleichzeitig ausführen
Sie können den logischen ODER-Operator (||) verwenden, um eine Befehlskette auszuführen, aber die nächster Befehl wird nur ausgeführt, wenn der vorherige Befehl fehlerhaft endet. Dies ist das Gegenteil von dem, was Sie mit && gesehen haben.
cmd1 || cmd2 || cmd3
Wenn cmd1 fehlschlägt, wird cmd2 ausgeführt. Wenn cmd2 erfolgreich ausgeführt wird, wird cmd3 nicht ausgeführt.
Im obigen Screenshot schlägt der Befehl mkdir new_dir fehl, da new_dir bereits existiert. Da dieser Befehl fehlschlägt, wird der nächste Befehl cd new_dir erfolgreich ausgeführt. Und jetzt, da dieser Befehl erfolgreich ausgeführt wurde, wird der nächste Befehl pwd nicht ausgeführt.
Bonus-Tipp: Kombinieren Sie && und || Betreiber
Sie können die Operatoren kombinieren, um zwei oder mehr Linux-Befehle auszuführen.
Wenn Sie drei Befehle mit && und || kombinieren, verhält es sich wie das ternärer Operator in C/C++ ( Bedingung ? Ausdruck_wahr ; Ausdruck_falsch).
cmd1 && cmd2 || cmd3
Für example, Sie können Überprüfen Sie, ob die Datei in existiert bash, und drucken Sie die Nachrichten entsprechend aus.
[ -f file.txt ] && echo "File exists" || echo "File doesn't exist"
Führen Sie den obigen Befehl vor und nach dem Erstellen der Datei file.txt aus, um den Unterschied zu sehen:
Wie das Kopieren und Einfügen im Linux-Terminal ist auch das gleichzeitige Ausführen mehrerer Befehle einer der vielen Linux-Befehlszeilentipps, um Zeit zu sparen. Obwohl elementar, ist es ein wesentliches Konzept, das jeder Benutzer von Linux-Terminals kennen sollte.
Sie können auch ;, && und || . verwenden um mehrere Befehle in auszuführen bash auch Skripte.
Ich hoffe, Ihnen hat dieser Terminal-Trick gefallen. Bleiben Sie dran für weitere Tipps und Tools zu Linux-Befehlen, die jeden Dienstag in der #TerminalTuesday-Reihe veröffentlicht werden.