Jak mogę, aby moja powłoka zawsze uruchamiała się w określonym katalogu, który nie jest moim katalogiem domowym


20

Próbowałem umieścić

cd /Users/my_name/my_directory/structure

w obu .bashrci .bash_loginale ani prac, czyli podczas otwierania nowego okna terminala jestem w moim domu (Users / my_name / /) katalogu.

Brak komunikatów o błędach, po prostu nie cd do katalogu, jak oczekiwano przy uruchamianiu nowego okna terminala.

Odpowiedzi:


5

Jak wspomniał Gerry, .bashrcnie jest odczytywany przez powłoki logowania. Nowe zakładki są domyślnie powłokami logowania w Terminalu, a iTerm 2. .bash_loginjest odczytywany tylko wtedy, gdy go nie ma .bash_profile.

Możesz także dodać cdpolecenie do .bash_profile.


38

Przede wszystkim, jeśli jeszcze nie korzystasz z iTerm2, proponuję pobrać to bezpłatne oprogramowanie jako zamiennik Terminal.app.

Wśród wielu innych dodatkowych funkcji, w Preferencjach iTerm, możesz skonfigurować domyślny katalog roboczy dla nowych powłok. Te ustawienia znajdziesz w Profilach - Ogólne.

Domyślny katalog roboczy iTerm

Zaletą jest to, że możesz ustawić różne zachowania dotyczące otwierania nowego okna w porównaniu do otwierania nowej karty lub nawet tworzenia nowego podzielonego panelu. Osobiście lubię przebywać w bieżącym katalogu roboczym na przykład podczas dodawania podzielonego panelu.

Możesz to zrobić również w skrypcie startowym (chociaż uważam, że rozwiązanie iTerm jest czystsze lub przynajmniej bardziej elastyczne), ale radzę ~/.bash_profilezamiast tego użyć .

~/.bashrcnie jest automatycznie pozyskiwany podczas otwierania nowego okna powłoki i ~/.bash_loginjest pozyskiwany tylko wtedy, gdy nie ~/.bash_profilema go.


1
Zawsze pobieram mój .bashrc z mojego .bash_profile, więc nie muszę pamiętać, które jest wywoływane skąd.
Cajunluke

@CajunLuke Robię coś podobnego: github.com/gerryvdm/dotfiles
Gerry

Jeśli modyfikacja pola „Katalog” katalogu roboczego nie przyniesie żadnego efektu, prawdopodobnie musisz zmienić polecenie z „Polecenia” na „Powłokę logowania” ( źródło ).
duozmo
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.