.bashrc
ve .bash_profile
vardır DEĞİL komut. Her seferinde kaynaklanacak yapılandırma dosyası bash
2 yoldan biriyle yürütülür:
Çağırma bash adam sayfasının bölüm neyin en Alakalı olduğunu.
Bir giriş kabuğu bir argümanının ilk karakteri sıfır bir olduğunu -
veya başladı bir --login
seçenek.
Bir etkileşimli kabuk bir seçenek olmayan bir argüman olmadan ve başlatıldığından -c
olan standart giriş ve hata ile belirlenen şekilde, her iki (terminallerine bağlı olan seçenek isatty(3))
ya da bir ile başladı -i
seçenek. PS1 ayarlanır ve $-
içeren i
halinde bash
interaktif, bir kabuk izin veya bu durumu test etmek için bir başlangıç dosyası.
Aşağıdaki paragraflarda bash
başlangıç dosyalarının nasıl yürütüleceği açıklanmaktadır . Dosyalardan herhangi biri varsa ancak okunamıyorsa, bash bir hata bildirir. Ekler , GENİŞLETME bölümünde yer alan Tilde Genişletme bölümünde açıklandığı şekilde dosya adlarında genişletilmiştir
.
Bash etkileşimli bir giriş kabuğu veya --login
seçenekle etkileşimli olmayan bir kabuk olarak çağrıldığında , ilk önce dosyadan komutları okur ve yürütür /etc/profile
, eğer o dosya varsa. Bu dosyayı okuduktan sonra, arar ~/.bash_profile
,
~/.bash_login
ve ~/.profile
, bu sırayla ve okur ve var ve okunabilir olanlarını gelen yürütür komutları.
--noprofile
Kabuk bu davranışı engellemek için başlatıldığında seçenek kullanılan olabilir.
Bir giriş kabuğu çıktığında, bash ~/.bash_logout
eğer varsa dosyadaki komutları okur ve yürütür .
Bir zaman interaktif bir oturum açma kabuğu başlatılır değil kabuk, bash okur ve yürütür komutları gelen ~/.bashrc
, bu dosya varsa. Bu --norc
seçenek kullanılarak engellenebilir . Bu --rcfile file
seçenek bash'ı komut yerine dosyadan komutları okumaya ve yürütmeye zorlayacaktır ~/.bashrc
.
Komut satırı anahtarları aracılığıyla ne zaman yüklendiklerini kontrol edebilirsiniz --norc
ve --noprofile
. --rcfile
Düğmeyi kullanarak yüklendikleri yerin yerini de geçersiz kılabilirsiniz .
Diğerlerinin de belirttiği gibi, bu dosyaların source <file>
komut kullanımı veya komut kullanımı ile nasıl yüklendiğini taklit edebilirsiniz . <file>
.
Bu işlevi aşağıdaki gibi düşünmek en iyisidir:
- bash çıplak bir çevre ile başlar
- bash daha sonra bu dosyalardan birini açar (etkileşime veya giriş olarak nasıl çağrıldığına bağlı olarak ve ardından ...
- ... satır satır dosya içindeki komutların her birini çalıştırır ...
- tamamlandığında bilgi istemi şeklinde kontrol edildiğinde, giriş bekleniyor
Çağırma yöntemleri
Bu konu, her seferinde bir kez ortaya çıkıyor gibi gözüküyor, işte çağırmanın çeşitli yollarını bash
ve neyle sonuçlandıklarını gösteren küçük bir sayfa. NOT: "kaynaklı $ HOME / .bashrc kaynaklı" ve "kaynaklı $ HOME / .bash_profile "kendi dosyalarına.
temel aramalar
bash
$ bash -i
sourced /home/saml/.bashrc
bash -l
$ bash -l
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash -il -ve- bash -li
$ bash -il
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash -c "..cmd .."
$ bash -c 'echo hi'
hi
NOT:-c
Anahtarın herhangi bir dosyayı kaynaklamadığına dikkat edin !
config dosyalarının okunmasını engelleme
bash --norc
$ bash --norc
bash-4.1$
bash --noprofile
$ bash --noprofile
sourced /home/saml/.bashrc
bash --norc -i
$ bash --norc -i
bash-4.1$
bash --norc -l
$ bash --norc -l
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash --noprofile -i
$ bash --noprofile -i
sourced /home/saml/.bashrc
bash - noprofile -l
$ bash --noprofile -l
bash-4.1$
bash --norc -i -ve- bash --norc -l
$ bash --norc -c 'echo hi'
hi
Bash çağırmanın daha ezoterik yolları
bash --rcfile $ HOME / .bashrc
$ bash -rcfile ~/.bashrc
sourced /home/saml/.bashrc
bash --norc --rcfile $ HOME / .bashrc
$ bash --norc -rcfile ~/.bashrc
bash-4.1$
Bunlar başarısız
bash -i -rcfile ~ / .bashrc
$ bash -i -rcfile ~/.bashrc
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash: /home/saml/.bashrc: restricted: cannot specify `/' in command names
bash -i -rcfile .bashrc
$ bash -i -rcfile .bashrc
sourced /home/saml/.bashrc
sourced /home/saml/.bash_profile
bash: .bashrc: command not found
Muhtemelen daha fazlası var ama umarım ...
Başka?
Son olarak, bu konuyla ilgili daha fazla okumak / keşfetmek istediğinizden çok etkilendiğiniz takdirde, Başlayanlar Kılavuzuna, özellikle bölüm: 1.2'ye bir göz atmanızı şiddetle tavsiye ederim . Bourne'nun Avantajları Yine Kabuk . Bunun altındaki çeşitli alt bölümler "1.2.2.1. Çağırma" ile "1.2.2.3.3. Etkileşimli kabuk davranışı" , çağırabileceğiniz çeşitli yollar arasındaki düşük seviye farklarını açıklar bash
.