.bashrc iTerm + Mac OS X kaynaklı değildir


62

Mac OS X 10.6'da iTerm kullanıyorum. İTerm'i açtığımda, ne kaynak ne .bashrcde .bash_profilekaynaklanmıştı. Bunu söyleyebilirim çünkü içinde tanımlanan takma adlar .bashrcayarlanmadı. Nasıl düzeltilir?


2
Olan şu ~/.bash_profile, ilk önce bash tarafından çağrılıyor, bu sizin sahip olduğunuz talimatları kısa devre yapıyor ~/.bashrc. Bu sorun beklenmedik bir şekilde, sahte bir program ~/.bash_profileönceden dosya bulunmadığında size bazı talimatlar eklerse ve tüm bash komutlarınızı yerleştirdiyseniz ortaya çıkabilir ~/.bashrc. Çözüm, ~ / .bash_profile dosyanızı silmek veya ~ / .bash_profile kaynağınıza ~ / .bashrc dosyasını vermektir. Bu, komutunun source ~/.bashrcsonuna : ekleyerek ~/.bash_profileve terminali yeniden başlatarak yapılabilir.
— Eric Leschinski,

Yanıtlar:


53

Bash, nasıl adlandırıldığına bağlı olarak EITHER .bash_profile veya .bashrc'ye kaynak sağlayacaktır. Bu bir giriş kabuğu ise, Bash bu sırayla ~ / .bash_profile, ~ / .bash_login veya ~ / .profile öğesini arar ve bulduğu ilki (ve yalnızca bu) kaynak yapar. Oturum açma kabuğu değilse, ancak etkileşimli ise (çoğu terminal oturumunda olduğu gibi), Bash ~ / .bashrc kaynak olacaktır.

Muhtemelen, iTerm ~ / .bashrc arıyor. Giriş kabuğu olarak başlayacak şekilde yapılandırılmışsa, ~ / .bash_profile ifadesini arar. Neredeyse kesinlikle kabuğun kaynaklanmaması yerine config dosyasındaki bir hatadır.

Her dosyanın başına bir satır koyardım. ~ / .Bash_profile dosyasının tepesinde:

export BASH_CONF="bash_profile"

Ve ~ / .bashrc üstündeki:

export BASH_CONF="bashrc"

Sonra yeni bir iTerm açın ve yazın

$ echo $BASH_CONF

Bu, dosyanın alındığını onaylamalıdır ve dosyanın sözdizimine bakabilirsiniz.


2
Her kaynak dosyası için farklı bir ortam değişkeni ayarlama o birden fazla dosya kaynaklı ise, bunu bileceksiniz olduğunu, daha fazla bilgi sağlar, nost sadece sonuncusu (değil sipariş kaynaklı kullanılabilir.)
— kmarsh

Bu hala .bashrc dosyasını yüklemiyor. İTerm ve Terminal Tercihlerime kaynak ~ / .bashrc eklemeliydim. btw Mac OS X 10.9.5 kullanıyorum.
— Dev Elk

Sadece bir .profile dosyası ekledim ve bu otomatik olarak terminal tercihlerinizi bozmadan OS X 10.9.5'te çalışıyor.
— Dev Elk

1
Tercihler -> profiller -> genel'e giderek bir giriş kabuğu olduğunu öğrendim ve komut altında giriş kabuğu seçildi. MacOS El Capitan ve iTerm2 3.0.14'te geçerli
— Aditya

Buradaki çözüm benim için işe yaramadı, ama bir çözüm buldum. Başlangıçta, bashrc ve bash_profile yoktu. Buradaki cevap bashrc yaratmayı öneriyor. Bir bashrc dosyası oluşturmak yerine bir bash_profile dosyası oluşturdum ve çalıştı. Şimdi neden bashrc'nin çalıştırılmadığını ve bash_dosyayesinin evet olduğunu anlamam gerekiyor.
— kalmanIsAGameChanger 17:18

68

İTerm2'de bu çözümlerin hiçbiri benim için çalıştı. Komutu ekleyerek .bashrc dosyamı düzgün bir şekilde okumayı başardım.

source ~/.bashrc 

için : Gönder başında metne benim iTerm profili için Genel Ayarlar alanda /.

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


Kabul edilen cevabın önerisini yaptığınızda ne oldu? Çıktı yok?
— Daniel Beck

Sağ. Çıktım yok ve iTerm 2 varsayılan bash kabuğunu takma isimlerimin hiçbiriyle yüklememiş.
— Mark Struzinski,

Bu cevap şu ana kadar kırıldı - ikinci snippet'in girmesi gerekiyordu ~/.bashrc. Düzenlendi.
— Daniel Beck

ZSH kullanıyorum ve aynı sorunu yaşıyordum. Bunun dışında, benim config dosyamdan hiçbiri ilk önce yoktu ve oluşturulması gerekiyordu. Bu cevabı kullandım ve "Başlangıçta metin gönder" i ayarladım, ancak ZSH'yi .zsh'yi yeniden başlattığımda ve. Bu kimseye yardımcı olur mu
— bilmiyorum

Bunun benim sorunum olduğunu düşünmüştüm .. ve yol boyunca ana sayfa kataloğumun başlattığım klasör olmadığını fark ettim. Böylece .bash_profile dosyamı başka bir yere taşıdım ve ln -s olduğumu sandım ~ (home) kataloğumdan aslında yanlış klasöre bir
— sembol ekledim

23

Acaba gerçekten Bash'i kullanıyor musun? Kullanabiliyor olabilirsiniz echo $SHELL, zsh kullanıyor olmanız oldukça muhtemeldir, on-my-zh'yi yüklediniz mi?

Eğer, ben yapılandırarak bunu düzeltmek olarak Acutually aynı sorunla karşılaşırsanız ~ / .zshrc yerine ya ~ / .bash_profile giriş kabuğu veya için ~ / .bashrc dışı giriş kabuğu için.

Belki bir deneyebilirsin


1
İlginç bir öneri olsa da, bu soru 3 yaşında ve kabul edilmiş bir cevabı var.
— Tyson

12

10.6 makinemde ~/.profilekaynak var. Yani bir source .bashrcgiriş ~/.profileişi yapmalı.


Mac OS El Capitan'da benim için çalıştı.
— user674669

Tecrübelerim bir .bashx dosyasını bir başkasından kaynaklamak istemediğinizi söylüyor, bir sebepten ayrılar :) Bunu yapıyorsanız, o zaman bir şeyler yanlış
— Alexander Mills

@AlexanderMills Bu dosyaların var olmasının nedeni, Mac'in onları doğrudan Unix'ten çıkarmasıdır. Hepsinin bir kullanıcı için yüklenmemesi için hiçbir sebep yok.
— RaisinBranCrunch

Birbirlerini yüklerlerse dairesel çağrılar alabilirsiniz, sorun, bunun en iyi yolu bir env var ile bir boole çevirmek ve yalnızca boole ayarlı değilse diğer dosyaları yüklemek.
— Alexander Mills,

8

Kolay tamir

1.~/.zshrc Dosyanızı açın

2. Dosyanın sonuna aşağıdaki satırı ekleyin.

source ~/.bash_profile

1
Parlak! Bu benim için yaptı. Oh-my-zh 'u kurduktan sonra zsh'nin yoluna girdiği hiç aklıma gelmedi.
— Cindy Conway

6

10.9 makinemde ~ / .bash_profile kaynaklanıyor. Bu yüzden ~ / .bash_profile içindeki bir kaynak .bashrc girişi işi yapmalıdır.


1

Diğer ad tanımlarınızı bash profil dosyasına koyun, dosyayı oluşturmanız gerekir, ancak otomatik olarak kaynaklanır. Alias.configuration adında ayrı bir dosya oluşturup bunu .bash_profile içinde kaynak olarak tanımladım, çünkü başka bir kullanıcı tanımlanmış ve aynı takma adı ayarlamak istiyorum.


1
Aslında ne kaynak ne .bashrcde .bash_profilekaynak.
— Computist

1

Eklemek

set -x

başlangıcına /etc/profile. Bu size işletilirse her şeyin bir çizgi-by-line hesabını verir bashiçinden kaynaklandığı dosyaları dahil olmak üzere başladığında /etc/profile, ~/.bash_profileanlamadığınız eğer biraz zor olduğunu, vb bashçok iyi komut dosyası, ancak olmadığını görmek mümkün olabilir Bir başlangıç ​​dosyasında bir hata var ve çıktı, bashsorununuzu bulmanıza yardımcı olacak uzman bir kişi için yararlı olacaktır .

set -xSorun gidermeyi tamamladığınızda çizgiyi kaldırabilirsiniz .


1

10.10 ve iTerm2 2.0'da özelleştirilmiş profil

  • .bash_rc çalışmalı.
  • .bash_profile, "/ bin / bash" yerine "/ bin / bash --login" komutunu deneyin.

Bu cevabı ben oyladım çünkü OS X’de bir noktada bash’ın “.bashrc” yerine “.bash_rc” yi kaynaklayacağını kabul eden tek kişi görünüyor. Buraya geldim çünkü nedenini bulmaya çalışıyordum (ve hala bilmiyorum).
— Marnix A. van Ammers

0

İTerm2'de, "login" dahil özel bir komut yerine "login kabuğu" kullandığınızdan emin olun, bu beklediğiniz şeyi yapmaz.


İTerm2 komutu gerçekte ne yapar?
— studgeek

0

Aşağıdaki değişikliği yapın, iTerm bashrc kaynak olacaktır.

iTerm> Tercihler> Genel> [x] Komut: / bin / bash


0

/ Etc / bashrc dizinine aşağıdaki satırı ekleyerek sorunu çözebilirsiniz.

[-r "$ HOME / .bashrc"] &&. "$ HOME / .bashrc"


-1

Beklediğim gibi çalışması için çift çözümleri bir araya getirdim.

.bash_profile kaynak ve zsh üzerinde çalıştırın.

Preferences -> Profiles -> General .

Komut altında Komut'u seçin.
Ve metin kutusuna ekleyin /bin/bash --login.

Sonra .bash_profile içinde satır ekleyin /bin/zsh --login

Bu kadar.


(1 Ne? (2) Her bashzaman koşuyorsanız zsh, hiç kimsenin beklediği şey bu değil.
— Scott

/ Bin / bash --login değerini ayarlarsam, zsh 'nin hiçbir özelliğini sağlamaz. O zaman tercihini loginshell olarak değiştirirsem, .bash_profile dosyasını okumaz. Her zaman source ~/.bash_profileel ile çalıştırmak zorundayım . @Scott Yukarıdakileri yaptıktan sonra, gerekli şekilde zsh var.
— muhammed fesleğen

(1) Demek istediğim , istediğiniz şey zsholabilir , ancak [bash] olarak etiketlenen ve hakkında bir şey söylemediğiniz, bu soru için gerekli değil veya istenmemiş . (2) Eğer takma adları ve kabuk işlevlerini tanımlarsanız ve değişkenlerinizi (dışa aktarmadan) ve / veya içinde ayarlarsanız, kabuğunuzda sizin için kullanılabilirler mi? zsh.bashrc.bash_profilezsh
— Scott
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.