Kabuğumun her zaman ana dizinim olmayan belirli bir dizinde başlamasını nasıl sağlayabilirim?


20

Koymayı denedim

cd /Users/my_name/my_directory/structure

hem .bashrcve .bash_loginfakat ne işler, yani ben evime (/ Users / my_name /) dizini olduğum yeni bir terminal penceresi açtığınızda.

Hata mesajı yok, sadece yeni bir terminal penceresi başlatılırken dizinde umulduğu gibi cd'd değil.

Yanıtlar:


5

Gerry'nin belirttiği gibi, .bashrcgiriş kabukları tarafından okunmaz. Yeni sekmeler Terminal'de varsayılan olarak giriş kabuklarıdır ve iTerm 2 .bash_loginyalnızca hayır olduğunda okunur .bash_profile.

Ayrıca bir cdkomut da ekleyebilirsiniz .bash_profile.


38

Her şeyden önce, iTerm2'yi zaten kullanmıyorsanız, bu ücretsiz yazılımı Terminal.app'ın yerine indirmenizi öneririz.

Diğer birçok özellik arasında, iTerm Tercihleri'nde, yeni kabuklar için varsayılan çalışma dizinini yapılandırabilirsiniz. Bu ayarları Profiller - Genel'de bulabilirsiniz.

iTerm Varsayılan Çalışma Dizini

Buradaki avantaj, yeni bir pencere açmak veya yeni bir sekme açmak veya hatta yeni bir bölme oluşturmak için farklı davranışlar ayarlayabilmenizdir. Şahsen, örneğin bölme bölmesi eklerken geçerli çalışma dizininde kalmayı seviyorum.

Bunu başlangıç ​​komut dosyanızda da yapabilirsiniz (iTerm çözümünü daha temiz veya en azından daha esnek buluyorum), ancak ~/.bash_profilebunun yerine kullanmanızı tavsiye ederim .

~/.bashrcolan olmayan yeni bir kabuk pencere açma ve otomatik olarak kaynaklı ~/.bash_loginhiçbir yalnızca kaynaklı ~/.bash_profilemevcuttur.


1
Her zaman .bashrc'mi .bash_profile kaynağımdan kaynakladım, bu yüzden hangisinin nereden çağrıldığını hatırlamak zorunda değilim.
Cajunluke

@CajunLuke Oldukça benzer bir şey yapıyorum: github.com/gerryvdm/dotfiles
Gerry

Eğer Çalışma Direktörünün “Dizin” alanını değiştirmenin bir etkisi yoksa, büyük olasılıkla Komutu “Komut” tan “Oturum Açma Kabuğuna” ( kaynak ) geçirmeniz gerekir .
duozmo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.