Wie kann ich meine Shell immer in einem bestimmten Verzeichnis starten lassen, das nicht mein Ausgangsverzeichnis ist?


20

Ich habe versucht zu setzen

cd /Users/my_name/my_directory/structure

sowohl in .bashrcund .bash_loginaber auch Werke, das heißt , wenn ich ein neues Terminal - Fenster öffne ich in meinem Haus bin (/ Users / my_name /) Verzeichnis.

Keine Fehlermeldungen, nur nicht wie beim Starten eines neuen Terminalfensters erhofft ins Verzeichnis cd.

Antworten:


5

Wie Gerry schon erwähnte, .bashrcwird von Login-Shells nicht gelesen. Neue Registerkarten sind standardmäßig Anmeldeshells in Terminal und iTerm 2. .bash_loginwird nur gelesen, wenn es keine gibt .bash_profile.

Sie können auch einen cdBefehl hinzufügen .bash_profile.


38

Wenn Sie iTerm2 noch nicht verwenden, empfehlen wir Ihnen, diese kostenlose Software als Ersatz für Terminal.app herunterzuladen.

Neben vielen anderen zusätzlichen Funktionen können Sie in den iTerm-Einstellungen das Standardarbeitsverzeichnis für neue Shells konfigurieren. Sie finden diese Einstellungen unter Profile - Allgemein.

iTerm Default Working Directory

Der Vorteil hierbei ist, dass Sie andere Verhaltensweisen für das Öffnen eines neuen Fensters festlegen können als für das Öffnen einer neuen Registerkarte oder das Erstellen eines neuen geteilten Bereichs. Ich persönlich mag es, im aktuellen Arbeitsverzeichnis zu bleiben, wenn ich zum Beispiel einen geteilten Bereich hinzufüge.

Sie könnten es auch in Ihrem Startskript tun (obwohl ich die iTerm-Lösung als sauberer oder zumindest flexibler empfinde), aber dann rate ich Ihnen, ~/.bash_profilestattdessen zu verwenden .

~/.bashrcwird beim Öffnen eines neuen Shell-Fensters nicht automatisch bezogen und ~/.bash_loginwird nur bezogen, wenn keine ~/.bash_profilevorhanden ist.


1
Ich beziehe meine .bashrc-Datei immer aus meinem .bash_profile, damit ich mir nicht merken muss, welche von wo aufgerufen wird.
CajunLuke

@CajunLuke Ich mache etwas ganz Ähnliches: github.com/gerryvdm/dotfiles
Gerry

Wenn das Ändern des Felds "Verzeichnis" in Working Directory keine Auswirkung hat, müssen Sie Command wahrscheinlich von "Command" auf "Login-Shell" ( Quelle ) ändern .
Duozmo
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.