.Profile .bash_profile ve .bashrc arasındaki işlevsel farklar nelerdir


Yanıtlar:


151

.bash_profileve .bashrcözeldir bashoysa .profilekendi kabuk özgü yapılandırma dosyalarında yokluğunda birçok kabukları tarafından okunur. ( .profileOrijinal Bourne kabuğu tarafından kullanıldı.) .bash_profileveya .profilegiriş kabukları ile birlikte okundu .bashrc; alt kabuklar sadece okunur .bashrc. (İş kontrolü ve modern pencere sistemleri arasında, .bashrckendi başına fazla kullanılmaz. screenVeya kullanırsanız tmux, ekranlar / pencereler genellikle oturum açma kabukları yerine alt kabuklar kullanır.)

Bunun arkasındaki fikir, bir defalık kurulumun .profile(veya kabuğa özel versiyonu) yapıldığı ve kabuk başına yapılan şeyler olduğu idi .bashrc. Örneğin, genellikle bir oturum içinde bir alt kabuk başlattığınızda herhangi bir şekilde kırılmak yerine ortam değişkenlerini her oturum için yalnızca bir kez yüklemek istersiniz; oysa takma adlarınızı her zaman (ortam değişkenleri gibi otomatik olarak yayılmayan) olmasını istersiniz.

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

/etc/bash_profile(geri dönüş /etc/profile) kullanıcının .profilesistem genelinde yapılandırması için önce ve aynı şekilde /etc/bashrcalt kabuklarda okunur (bunun için geri dönüş olmaz). Ubuntu aynı zamanda, kullanımı da dahil olmak üzere pek çok sistem /etc/profile.dvardır kabuk scriptlets içeren bir dizin .( source) gelen -ed /etc/profile; Buradaki parçalar, *.shBourne / POSIX uyumlu tüm kabuklara ve söz konusu kabuk için geçerli olan diğer uzantılara uygulanacak şekilde kabuk başınadır .


58

.profil

.profileBashçevre değişkenleri PATHve arkadaşlar gibi özel olarak ilgili olmayan şeyler için ve her zaman erişilebilir olmalıdır.

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


Bashrc

.bashrcetkileşimli Bash kullanımını yapılandırmak içindir, Bash aliasesen sevdiğiniz editorayarı Bash prompt, vb.


.bash_profile

.bash_profile şeyler hem emin içindir .profileve .bashrciçin yüklenir login shells.

Örneğin, .bash_profilebasit bir şey olabilir

. ~/.profile
. ~/.bashrc

Bunu atlamak olsaydı .bashrc, sadece .profileyüklenirdi.


1
Bu, Mac OS X
Jake Toronto

38

Bash man sayfasına göre, .bash_profileoturum açma kabukları .bashrciçin yürütülürken, etkileşimli oturum açma olmayan kabukları için yürütülür.

Peki, giriş veya giriş olmayan bir kabuk nedir?

Konsol üzerinden giriş yaptığınızda (kullanıcı adı ve şifre yazdığınızda), makinede otururken veya uzaktan ssh aracılığıyla uzaktan kumanda .bash_profileedildiğinde, kabuğunuzu ilk komut isteminden önce yapılandırmak için yürütülür. Ancak, makinenize zaten giriş yaptıysanız ve Gnome veya KDE içinde yeni bir terminal penceresi (xterm) açtıysanız .bashrc, pencere komut isteminden önce yürütülür. .bashrcAyrıca /bin/bashbir terminale yazarak yeni bir bash örneğini başlattığınızda da çalıştırılır .

Terminal penceresi kurallarına istisna çağırarak, her yeni terminal penceresinde için varsayılan olarak bir giriş kabuğu çalışır, Mac OS X'in Terminal.app vardır .bash_profileyerine .bashrc. Diğer GUI terminal emülatörleri de aynı şeyi yapabilir ancak çoğu yapma eğilimindedir.

Daha burada .

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.