BASH Shell se během inicializace pokusí načíst několik konfiguračních souborů. Existují 2 sady konfiguračních souborů v závislosti na tom, zda se jedná o přihlašovací nebo nepřihlašovací prostředí.
- Když se přihlásíte k serveru na holém kovovém monitoru, přes SSH nebo pomocí # su – [uživatelské jméno], získáte přihlašovací shell.
- Když spustíte shell v terminálu v existující relaci (gnome-terminál, shell v jiném nebo s # su [uživatelské jméno]…), získáte shell bez přihlášení. Skript shellu se také spouští v prostředí bez přihlášení.
Níže si ukážeme rozdíl přidáním ladění do těchto konfiguračních souborů.
Přihlašovací prostředí
Ve výchozím nastavení přihlašovací shell načte následující soubory:
# su - test this is /etc/profile this is ~/.bash_profile this is ~/.bashrc this is /etc/bashrc
Zde si všimněte ~/.bash_profile soubor, soubor ve výchozím nastavení volá ~/.bashrc a ~/.bashrc volání /etc/bashrc .
Pokud z nějakého důvodu BASH nenajde soubor ~/.bash_profile, bude hledat ~/.bash_login namísto. Pokud znovu ~/.bash_login nelze najít, BASH vyhledá ~/.profile místo toho.
A ve 2 případech nebudou ~/.bashrc a /etc/bashrc načteny, pokud nebyly explicitně volány v ~/.bash_login nebo ~/.profile.
Příklady, kdy ~/.bash_profile neexistuje:
– S přítomností ~/.bash_login bez ohledu na to, zda ~/.profile existuje nebo ne:
$ su - test Password: this is /etc/profile This is ~/.bash_login
– Pouze ~/.profile:
# su - test this is /etc/profile this is ~/.profile
Prostředí bez přihlášení
Je to jednodušší, BASH načte pouze ~/.bashrc a znovu volání souboru /etc/bashrc.
# su test this is ~/.bashrc this is /etc/bashrc