Fonksiyonel arasındaki farklar nelerdir .profile
, .bash_profile
ve .bashrc
dosyalar?
Fonksiyonel arasındaki farklar nelerdir .profile
, .bash_profile
ve .bashrc
dosyalar?
Yanıtlar:
.bash_profile
ve .bashrc
özeldir bash
oysa .profile
kendi kabuk özgü yapılandırma dosyalarında yokluğunda birçok kabukları tarafından okunur. ( .profile
Orijinal Bourne kabuğu tarafından kullanıldı.) .bash_profile
veya .profile
giriş kabukları ile birlikte okundu .bashrc
; alt kabuklar sadece okunur .bashrc
. (İş kontrolü ve modern pencere sistemleri arasında, .bashrc
kendi başına fazla kullanılmaz. screen
Veya 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 .profile
sistem genelinde yapılandırması için önce ve aynı şekilde /etc/bashrc
alt kabuklarda okunur (bunun için geri dönüş olmaz). Ubuntu aynı zamanda, kullanımı da dahil olmak üzere pek çok sistem /etc/profile.d
vardır kabuk scriptlets içeren bir dizin .
( source
) gelen -ed /etc/profile
; Buradaki parçalar, *.sh
Bourne / 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 .
.profil
.profile
Bash
çevre değişkenleri PATH
ve arkadaşlar gibi özel olarak ilgili olmayan şeyler için ve her zaman erişilebilir olmalıdır.
Örneğin, .profile
grafiksel bir masaüstü oturumu başlatırken de yüklenmelidir.
Bashrc
.bashrc
etkileşimli Bash kullanımını yapılandırmak içindir, Bash aliases
en sevdiğiniz editor
ayarı Bash prompt
, vb.
.bash_profile
.bash_profile şeyler hem emin içindir .profile
ve .bashrc
için yüklenir login shells
.
Örneğin, .bash_profile
basit bir şey olabilir
. ~/.profile
. ~/.bashrc
Bunu atlamak olsaydı .bashrc
, sadece .profile
yüklenirdi.
Bash man sayfasına göre, .bash_profile
oturum açma kabukları .bashrc
iç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_profile
edildiğ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. .bashrc
Ayrıca /bin/bash
bir 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_profile
yerine .bashrc
. Diğer GUI terminal emülatörleri de aynı şeyi yapabilir ancak çoğu yapma eğilimindedir.
Daha burada .