Emacs kabuk için .bash_profile veya .bashrc?


11

Büyük bir emir için bir takma ad yazdım ve sakladım .bash_profileve sürprizime kadar, emacs yazdığım takma adı almadı .bash_profile. İnternette biraz arama yaptıktan sonra, .bashrc$ HOME'da takma ad komutuyla bir dosya oluşturdum ve ancak emacs takma adı aldı. Kafam karıştı çünkü terminal.app takma adı alıyor .bash_profileancak emacs takma adı sadece içeri alıyor .bashrc.

Koşuyordum M-x shellve MacOS üzerinde değilim. Birisi bana emacs ile olan ilişkinin ne olduğunu açıklayabilir mi .bashrc& & .bash_profile.

Daha da önemlisi, Emacs'ı .bash_profileek olarak okumamı nasıl sağlayabilirim .bashrc?


1
Emacs'ı .bashrctakma adlarınızı almasını nasıl sağladınız? Bunu soruyorum çünkü Emacs'ım (ve görünüşe göre diğerleri) varsayılan olarak yapmıyor.
Arch Stanton

@ArchStanton bkz. @Vera Johanna bu soruya cevap. Kullandığım yöntem bu. Şimdi zshbash yerine kullanıyorum :)
Chakravarthy Raghunandan

Yanıtlar:


14

Doğru davranış budur. .bash_profilesözde giriş kabukları içindir. Bilgisayarınıza metin modunda veya bir terminal emülatöründe farklı bir bilgisayara sshveya telnetveya üzerinden giriş yaptığınız gibi ...

.bashrczaten giriş yapmış ve yeni bir xterm başlattığınız veya bu durumda emacs ' shellmodu gibi giriş yapmayan mermiler içindir .

Genellikle, .bash_profileokunacak komutları da içerir .bashrc:

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

böylece .bashrcher başlangıçta okunur.


Yani takma adlar .bashrc; ayrı bir yapı oluşturmak ve aynı yapı üzerinden .bash_aliaseseklemek de gelenekseldir .bashrc:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

11

@Pingi tarafından yapılan noktalara ek olarak, yalnızca emacs kabuğu ( M-x shell) için yüklenecek ayrı bir yapılandırma dosyası da kullanabilirsiniz :

Kılavuz sayfasından (emacs) Etkileşimli Kabuk :

Emacs, yeni kabuğa '~ / .emacs_SHELLNAME' dosyasının içeriğini girdi olarak gönderir, varsa SHELLNAME kabuğun yüklendiği dosyanın adıdır. Örneğin, bash kullanırsanız, ona gönderilen dosya '~ / .emacs_bash' olur. Bu dosya bulunamazsa, Emacs '~ / .emacs.d / init_SHELLNAME.sh' ile çalışır.

Emacs içinde farklı bir kabuk istemi biçimi kullanmak veya dosyaları emacclient'e aktarmak için işlevler tanımlamak istiyorsanız bu yararlıdır.

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.