Soru .Profile .bash_profile ve .bashrc arasındaki fonksiyonel farklar nelerdir?


Arasındaki fonksiyonel farklılıklar nelerdir .profile, .bash_profile ve .bashrc Dosyalar?


120
2018-04-20 15:42


Menşei




Cevaplar:


.bash_profile ve .bashrc özgü olan bash, buna karşılık .profile kendi kabuk özel yapılandırma dosyalarının yokluğunda birçok kabuk tarafından okunur. (.profile orijinal Bourne kabuğu tarafından kullanıldı.) .bash_profile veya .profile ile birlikte giriş kabukları tarafından okunur .bashrc; subshells salt okunur .bashrc. (İş kontrolü ve modern pencere sistemleri arasında, .bashrc kendi başına çok fazla kullanılmaz. Eğer kullanırsan screen veya tmux, ekranlar / pencereler genellikle giriş kabukları yerine alt kümeleri çalıştırır.)

Bunun arkasındaki fikir, bir defalık kurulumun .profile (ya da kabuğun kendine özgü sürümü) ve kabuk başına şeyler .bashrc. Örneğin, genellikle yalnızca her zaman takma adları (otomatik ortam değişkenleri gibi yayılır değil mi) istiyor, oysa onları bir oturum içinde bir altkabuk başlatmak her zaman geberten almanın yerine oturum başına bir kez ortam değişkenleri yüklemek istiyorsunuz.

Diğer önemli kabuk yapılandırma dosyaları:

/etc/bash_profile (geri çekil /etc/profile) kullanıcının önünde okunur .profile sistem çapında yapılandırma ve benzer şekilde /etc/bashrc subshells (bunun için geri dönüş yok). Ubuntu da dahil olmak üzere birçok sistemde /etc/profile.d kabuk betiklerini içeren dizin . (source) -den /etc/profile; buradaki parçalar kabuk-başına *.sh Tüm Bourne / POSIX uyumlu kabuklara ve bu özel kabuk için geçerli olan diğer uzantılara uygulanması.


102
2018-04-20 15:51





.profil

.profile özellikle ilgili olmayan şeyler içindir Bashçevre değişkenleri gibi PATH ve arkadaşlar, ve her zaman mevcut olmalıdır.

Örneğin, .profile Grafiksel bir masaüstü oturumu başlatırken yüklenmelidir.


Bashrc

.bashrc etkileşimli Bash kullanımını yapılandırmak içindir Bash aliases, en sevdiğin yeri ayarla editor, ayarlamak Bash prompt, vb.


.bash_profile

.bash_profile, her ikisinin de .profile ve .bashrc için yüklendi login shells.

Örneğin, .bash_profile gibi basit bir şey olabilir

. ~/.profile
. ~/.bashrc

Eğer ihmal edeceksen .bash_profile, sadece .profile yüklenecekti.


33
2018-04-17 06:15



Bu Mac OS X için sorumu yanıtladı - Jake Toronto


Bash man sayfasına göre, .bash_profile giriş kabukları için yürütülürken .bashrc etkileşimli giriş-olmayan kabuklar için yürütülür.

Peki, giriş veya giriş yapmayan kabuk nedir?

İlk komut isteminden önce kabuğunuzu yapılandırmak için, konsolda veya makinede otururken veya ssh: .bash_profile yoluyla oturum açtığınızda (kullanıcı adı ve parola yazın) gerçekleştirilir. Ancak, makinenize zaten giriş yapmışsanız ve Gnome veya KDE içinde yeni bir terminal penceresi (xterm) açarsanız, .bashrc, pencere komut isteminden önce yürütülür. .bashrc, bir terminalde / bin / bash yazarak yeni bir bash örneğini başlattığınızda da çalışır.

Terminal penceresi yönergeleri için bir istisna, her yeni terminal penceresi için varsayılan olarak bir giriş kabuğu çalıştıran Mac OS X’in Terminal.app'idir. .Bashrc yerine .bash_profile çağrılır. Diğer GUI terminali emülatörleri de aynı şeyi yapabilir, ancak çoğu bunu yapmaz.

Daha fazla burada http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html


21
2018-04-03 12:52