Führen Sie jedes Mal einen Befehl aus, wenn das Terminal geöffnet ist


19

Ich arbeite unter Ubuntu 13.04 und möchte mein Terminal so konfigurieren, dass jedes Mal, wenn ein neuer Tab / ein neues Fenster geöffnet wird, der folgende Befehl automatisch und sofort ausgeführt wird.

 /bin/bash --login

Wie könnte ich das erreichen? Unter OSX mit iTerm 2 besteht die Möglichkeit, beim Start einen Befehl auszuführen. Ich denke hier sollte ich dies durch eine Art Dotfile erreichen ...


Warum willst du das tun? Wenn Sie ein neues Terminal öffnen, wird dieser Befehl bereits ausgeführt.
Spack

Nein, ist es nicht. Ich brauche dies wegen eines Fehlers in einer von mir verwendeten Entwicklungsumgebung. Die --loginFlagge ist entscheidend.
wenn __name__ None ist

Antworten:


21

Fügen Sie den Befehl zu Ihrem hinzu ~/.bashrc. Technisch gesehen , Sie sollten auf hinzufügen können , ~/.profileals auch, aus man bash, INVOCATIONDokumentation:

Wenn bash mit dem Namen aufgerufen wird sh, wird versucht, das Startverhalten historischer Versionen shso genau wie möglich nachzuahmen und dabei auch dem POSIX-Standard zu entsprechen. Beim Aufruf als interaktive Anmeldeshell oder als nicht interaktive Shell mit der --loginOption wird zunächst versucht, Befehle von /etc/profileund ~/.profilein dieser Reihenfolge zu lesen und auszuführen .

Ebenfalls:

Bash versucht festzustellen, wann es ausgeführt wird, wenn seine Standardeingabe mit einer Netzwerkverbindung verbunden ist, wie dies normalerweise vom Remote-Shell-Daemon rshdoder vom Secure-Shell-Daemon ausgeführt wird sshd. Wenn bash feststellt, dass es auf diese Weise ausgeführt wird, liest und führt es Befehle aus ~/.bashrcund aus ~/.bashrc, sofern diese Dateien vorhanden und lesbar sind.

Wenn Sie also lokal angemeldet sind, sollten Sie OK verwenden ~/.profile. Wenn Sie jedoch auf Systeme ssh, möchten Sie verwenden ~/.bashrc. ~/.bashrcgilt auch, wenn Sie lokal angemeldet sind; Daher ist es gerade zur Konvention geworden, dies zu verwenden.


3

Versuchen:

  • Wählen Sie im Terminal Bearbeiten> Einstellungen> Tabulatortitel und Befehl> Führen Sie einen benutzerdefinierten Befehl für meine Shell aus .

Geben Sie hier die Bildbeschreibung ein

Oder

  • gnome-terminal --tab -e "your command" um eine neue Registerkarte zu öffnen.

Weitere Informationen: ManPage Gnome-Terminal


2
Eigentlich nur das run command as login shellProblem behoben.
wenn __name__ None ist
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.