OS X Mountain Lion terminali sekme adı + aynı dizinde yeni bir sekme açın


7

1) Mountain Lion'da, Tercihler aracılığıyla, Terminal ayarını değiştirerek açılış sekmesi ile aynı dizinde yeni bir sekme açılabilir. (örneğin, ~ / çalışma alanındaysam ve yeni bir sekme açarsam, o zaman yeni sekme ~ / çalışma alanında olacaktır).

2) Ayrıca Mountain Lion'da, sekmenin başlığının ~ / .profile dosyasında yer alan aşağıdaki direktif aracılığıyla geçerli direktör adının adını otomatik olarak yansıtması da mümkündür:

# automatically change the title of the terminal window to the directory basename
PROMPT_COMMAND='echo -n -e "\033]0;${PWD##*/}\007"'

Ancak bu, terminalin açılış sekmesi ile aynı dizinde yeni bir sekme açma yeteneğini de ortadan kaldırıyor gibi görünüyor. Yani, 2) sahip olmak 1) etkisiz kılıyor gibi görünüyor. Bu sorunu çözmenin bir yolu var, böylece her ikisinin de aynı anda olması mümkün mü?

görüntü tanımını buraya girin

Yanıtlar:


10

Varsayılan PROMPT_COMMANDdavranış tanımlanır /etc/bashrcve çalışma dizinine yolu, aynı Çalışma Dizini işlevini ( URL olarak) koruyacak şekilde pencere başlığına ekler ve hatta başlık çubuğunu tıklatarak ata dizinlerine göz atmanıza izin verir .file://Command

Ek olarak, sekme başlığını çalışma dizininin temel adına ayarlamak istiyorsanız , orijinali korumanız gerekir PROMPT_COMMAND. Kullanıcı profilinizin seçtiğiniz kabuk başlatma dosyasında aşağıdakileri kullanın:

function set_tab_title {
  echo -n -e "\033]0;${PWD##*/}\007"
}

PROMPT_COMMAND="set_tab_title ; $PROMPT_COMMAND"

işe yaradı. Çok teşekkürler. Bu arada, beni biraz bashrc ile profil ve / etc / bashrc vs ~ / .bashrc arasındaki fark konusunda biraz eğitmek konusunda nazik olabilir misiniz? Bir Apple Terminali başlatıldığında ne zaman yüklenir? Tekrar çok teşekkür ederim!
ornitorenk

@platypus Bu dosyalar bash tarafından nasıl kullanılır ? Ek olarak, OS X'in Terminal.app'ta her kabuğun etkileşimli bir oturum açma kabuğu olduğunu unutmayın; oysa Linux'ta genellikle etkileşimli (oturum açmayan) kabukları vardır. ~/.profilediğer kabuk programları tarafından kullanılıyor olabilir.
Daniel Beck

Teşekkürler! ~ / .Profile, yüklenecek son dosya gibi görünüyor, bu yüzden PROMPT_COMMAND gibi tüm özel yapılandırmaları terminal tarafından yüklenmek için güvenli hale getirin. Daha önce PROMPT_COMMAND'ın ~ / .bashrc FWIW içinde olması gerektiğini söylüyordunuz, biraz açıklayabilir misiniz?
ornitorenk

1
@platypus Bunu tekrar oku. Sadece diğerlerinden hiçbiri yoksa yüklenir. PROMPT_COMMANDTüm etkileşimli mermiler için istediğiniz bir şey. Bu nedenle, eğer bash --login(yeni bir sekme açarken) sadece çalıştırmanız durumunda, muhtemelen yüklenmesi gerekir bash. Bunun için dosya ~/.bashrc. Siz ~/.bash_profilede yaratırsanız, buna ihtiyacı vardır source ~/.bashrc, aksi halde yüklenmez.
Daniel Beck

Ben değiştirmenizi öneririz echo -n -eile printf(bu da anımsatıcı kullanabileceğiniz anlamına gelir içeriği kaçış dizisini ayırarak dizin adı içeriğini yorumlama önlemek için, bu durumda \eve \adenetleme karakterleri yerine sekizlik arasında):printf '\e]0;%s\a' "${PWD##*/}"
Chris Sayfa
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.