Mac OS X .bashrc çalışmıyor


77

Giriş dizinimde bir satırlık bir .bashrcdosya var:

alias countlines='find . -type f -print0 | xargs -0 cat | wc -l'

Fakat takma adı oluşturmuyor. Bu neden olabilir?

Yanıtlar:


101

OSX'te .bash_profileyerine kullanılır .bashrc.

Ve evet, .bash_profiledosya içinde bulunmalıdır /Users/YourName/
(Başka bir deyişle, ~/.bash_profile)

Örneğin, /Users/Aaron/.bash_profile


11
Bu doğru cevap değil. Diğer adlar miras alınmaz, bu nedenle, yalnızca onları .bash_profile dosyasında tanımlarsanız, oturum açmayan kabuklarda tanımlanmayacaktır (örneğin, bash içinde bash çalıştırdığınızda).
LaC

1
Veya takma isimleri bashrc içerisine koymakla aynı etkiye sahip olan fakat daha yönetilebilir olan bash_aliases kullanabilirsiniz
Atul Ingle

4
benim .bash_profile içinde sadece bir satır yazdı alias (tür) bashrc ->source ~/.bashrc
Eric Hodonsky

86

.[bash_]profileve .bashrchem OS X hem de Linux'ta kullanılabilir. Birincisi, kabuk bir giriş kabuğu olduğunda yüklenir; değilken ikincisi. Asıl fark, Linux'un kullanıcı bir grafik oturumuna giriş yaptığında bir giriş kabuğu çalıştırması ve ardından bir terminal uygulamasını açtığınızda, bu mermiler giriş yapma kabukları değildir; OS X, grafiksel giriş sırasında bir kabuk çalıştırmaz ve Terminal.app'den bir kabuk çalıştırdığınızda, bu bir giriş kabuğudır.

Takma adlarınızın hem giriş hem de giriş olmayan kabuklarda çalışmasını istiyorsanız (ve genellikle yaparsınız), bunları .bash_profile içine .bashrc ve kaynak .bashrc içine koymalısınız.

[ -r ~/.bashrc ] && source ~/.bashrc

Bu bash kullanan herhangi bir sistem için geçerlidir.


15
.Bashrc içindeki her şeyin alt kabuklar için tekrar çalıştırılacağı (+ subub- sububsub-, vb.) İhmali ile +1, bu nedenle örneğin PATH=$PATH:/my/private/binariesPATH şişkinliğine yol açacaktır. Bkz bu geçici bir çözüm için.
Gordon Davisson

2
Doğru. Dışa aktarılan örnek değişkenleri miras alındığından, onları .profileyerine girdim .bashrc.
LaC,

1
@LaC _Since dışa aktarılan örnek değişkenlerinin miras alındığını açıklayabilir miyim .profile_?
sam

1
@ sam, "örnek" in nereden geldiğini bilmiyorum. Sadece "ihraç değişkenler" demek istedim. Maalesef bu yorumu düzenleyemiyorum.
LaC,

2
@ dinosaur: "-r", dosyanın okunabilir olup olmadığını kontrol eder.
mhvelplund

7

Veya .bashrc de işaret eden .bash_profile adlı bir sym bağlantısı oluşturun.

ln -s .bashrc .bash_profile

2

Mac OS X'te .bash_profilekullanıldığından takma değil .bashrc.

Yani iki seçeneğiniz var:

  • Diğer adı ~/.bash_profile

  • Ya da bu satırı aşağıdakilere ekleyerek .bashrcsizden kaynak :.bash_profile.bash_profile

    . ~/.bashrc


1

On Mac OS X Yosemite , aşağıdaki komutu çalıştırın:

vi ~/.profile

Sonra aşağıdaki satırı ekleyin:

source ~/.bashrc

Şimdi kaydedin ve kapatın .profile, ardından yeni bir Terminal penceresi açın veya yalnızca çalıştırın:

source ~/.profile

Ayrıca bu cevaba bakınız . V10.10.3'te çalıştı.


Bu, dört yıl önceki cevapların bir yeniden ifadesinden biraz daha fazlası.
G-Man

Tabii, sadece okumak ve uygulamak için kolay bir yemek. Ayrıca küçük bir katkı - çünkü söz konusu diğer dosyalar işletim sistemim Yosemite'de mevcut değildi.
Ricardo,
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.