bash
Bir kabuk veya normal bir programlama dili olup olmadığı gibi farklı davranır (gibi perl
veya python
).
Tasarım gereği, ayarlar ~/.bash_profile
, ~/.bashrc
ne zaman, vb set şeylere kullanıcılar içindir bash
oynayan bir kabuk rolünü (giriş kabuğu interractive kabuk). Sahip olduğunuz ortamı xterm
(etkileşimli kabuk) veya ssh
oturumlarda (giriş kabuğu) veya konsollarda (giriş kabuğu) düşünün .
Öte yandan, bash
aynı zamanda güçlü bir progamming dilisystemd
- farklı bir çalışma tarzı gerektiren hizmetleri yönetmek için birçok senaryo hakkında düşünün . Örneğin, bir geliştirici bir sistem komut dosyası veya bash
program yazarken , kullanıcıyı ~/.bash_profile
otomatik olarak kaynaklamak istemeyecektir . Bu normal bir programdır, kabuk değil. Normal bir program ( bash
programlar dahil ) doğal olarak mevcut çalışma ortamından (kabuk) ayarları devralır , fakat bunları ayarlamaz .
Biz bir program yazarsanız cron
içinde bash
-o sadece yazılacak olur bash
; aslında, biz bunu yazabilir python
veya perl
veya başka bir Progamming o zaman kaynaklar için bir seçenek olabilir DİLİ- bash
'ın ~/.bash_profile
(okuyun: sadece programlama dilinin aynı dil olur kullanıcının kabuğunun ayarı):
[ -f /home/user/.bash_profile ] && . /home/user/.bash_profile
Bununla birlikte, söz konusu kullanıcı bash
kabuğu olarak kullanılmazsa ne olur ? O / o kullanabilir zsh
, ksh
, fish
genel kullanım için programı yazarken, vb Yani, bu uygulama gerçekten işe yaramaz.
Yani, ~/.bash_profile
bunun işe yarayacağını düşünüyorsanız kaynak oluşturabilirsiniz. Ancak, burada bir dosyaya kaynak verip kaynaklayamayacağımızla ilgili değil, sistemde işlerin nasıl çalışması gerektiğiyle ilgili değil: tasarım konsepti . Kısacası: Biz görmek gerekir bash
kabuğu ve dili progamming: birşey 2 rolü olup . O zaman her şey anlamak daha kolay olacak.
.bashrc
sahip olduğunu belirtmek isteyebilirler .