Starten Sie eine neue Terminalsitzung in Bash

Faaiq Bilal 20 Juni 2023
  1. Verwenden Sie den Befehl gnome-terminal, um eine neue Terminalsitzung in Bash zu starten
  2. Öffnen Sie einen neuen Tab im selben Terminal in Bash
Starten Sie eine neue Terminalsitzung in Bash

In verschiedenen Situationen kann es bei der Arbeit mit Bash oder anderen Shells erforderlich sein, ein Skript oder ein Programm in einer neuen Terminalinstanz oder vielleicht einem anderen Tab im selben Terminal auszuführen. Das Öffnen neuer Terminalinstanzen oder Registerkarten innerhalb des Terminals ist einfach; wir werden es ausführlich mit ausreichend Beispielen erläutern.

Note
Die Artikelbeispiele beziehen sich auf Systeme, auf denen eine GNOME-Desktopumgebung ausgeführt wird, die in den meisten LINUX-Distributionen üblich ist.

Verwenden Sie den Befehl gnome-terminal, um eine neue Terminalsitzung in Bash zu starten

Sie müssen den einfachen Befehl gnome-terminal verwenden, um ein neues Terminal von einer bereits laufenden Instanz aus zu starten. Dadurch wird eine neue Terminalinstanz gestartet und ein neues Fenster geöffnet.

Wenn Sie ein neues Terminal öffnen und darin ein Programm von der bereits laufenden Instanz aus ausführen möchten, gibt es verschiedene Möglichkeiten, diese Aufgabe zu erfüllen.

gnome-terminal -x "complete/path/of/the/program" &

Der obige Befehl führt das gewünschte Programm in einem neuen Terminal aus; Es ist wichtig, den vollständigen Pfad des Programms anzugeben, das Sie ausführen möchten.

Das & am Ende des Befehls verschiebt diese Aufgabe in den Hintergrund der ursprünglichen Terminalinstanz; Wenn das & am Ende des Befehls nicht hinzugefügt wird, kann dies zu Fehlern führen, da das Programm versuchen kann, zu laufen, bevor das neue Terminal initialisiert wurde.

Die Option bash -c kann mit dem Befehl gnome-terminal verwendet werden, um mehrere Bash-Befehle in einem neuen Terminal auszuführen.

Die Syntax für den Befehl gnome-terminal lautet wie folgt.

gnome-terminal --command="bash -c '[cmd1]; [cmd2]; $SHELL'"

Hier teilt --command="bash -c" dem neuen Terminal mit, dass es sich um Bash-Befehle oder Skripte handelt, und cmd1 und cmd2 stehen für die Namen des ersten bzw. zweiten Befehls.

Das $SHELL am Ende des Befehls sorgt dafür, dass das Terminal auch nach Abschluss der Befehle geöffnet bleibt.

Eine alternative Syntax für das obige Beispiel lautet:

gnome-terminal -x bash -c "<cmd>; exec bash"

Die exec bash am Ende dieses Befehls dient demselben Zweck wie $SHELL (d. h. das Terminal nach der Ausführung der Befehle geöffnet zu halten).

Öffnen Sie einen neuen Tab im selben Terminal in Bash

Manchmal möchten Sie vielleicht nicht mehrere Terminalfenster öffnen, da es schwierig sein kann, den Überblick zu behalten. Das Öffnen einer neuen Registerkarte im selben Terminal ist in solchen Situationen ein besserer Ansatz.

Der Befehl zum Öffnen eines neuen Terminal-Tabs lautet:

gnome-terminal --tab

Dies kann mit den oben besprochenen Beispielen kombiniert werden, um Befehle in einem neuen Terminal-Tab auszuführen, wie zum Beispiel:

gnome-terminal --tab -x bash -c "<cmd>; exec bash"

Es ist wichtig zu beachten, dass die obigen Befehle für Systeme gelten, die die GNOME-Umgebung unterstützen.

Für macOS können Sie einen Befehl in einem neuen Terminal von einem bereits laufenden Terminal aus ausführen, indem Sie Folgendes verwenden:

osascript -e 'tell app "Terminal" to do script "cmd"'

Dadurch wird ein neues Terminal geöffnet und der Befehl cmd im neu erstellten Terminal ausgeführt.