bashBir kabuk veya normal bir programlama dili olup olmadığı gibi farklı davranır (gibi perlveya python).
Tasarım gereği, ayarlar ~/.bash_profile, ~/.bashrcne zaman, vb set şeylere kullanıcılar içindir bashoynayan bir kabuk rolünü (giriş kabuğu interractive kabuk). Sahip olduğunuz ortamı xterm(etkileşimli kabuk) veya sshoturumlarda (giriş kabuğu) veya konsollarda (giriş kabuğu) düşünün .
Öte yandan, bashaynı 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 bashprogram yazarken , kullanıcıyı ~/.bash_profileotomatik olarak kaynaklamak istemeyecektir . Bu normal bir programdır, kabuk değil. Normal bir program ( bashprogramlar dahil ) doğal olarak mevcut çalışma ortamından (kabuk) ayarları devralır , fakat bunları ayarlamaz .
Biz bir program yazarsanız croniçinde bash-o sadece yazılacak olur bash; aslında, biz bunu yazabilir pythonveya perlveya 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ı bashkabuğu olarak kullanılmazsa ne olur ? O / o kullanabilir zsh, ksh, fishgenel kullanım için programı yazarken, vb Yani, bu uygulama gerçekten işe yaramaz.
Yani, ~/.bash_profilebunun 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 bashkabuğu ve dili progamming: birşey 2 rolü olup . O zaman her şey anlamak daha kolay olacak.
.bashrcsahip olduğunu belirtmek isteyebilirler .