
Pokud trávíte hodně času na příkazovém řádku, je pravděpodobné, že si budete chtít přizpůsobit prostředí prostředí. To může znamenat vytvoření aliasů, přidání nového adresáře do $PATH
nebo změna vzhledu příkazového řádku.
Možná jste se setkali s některými výukovými programy, kde se říká, že máte konfiguraci vložit buď do .bashrc
, .bash_profile
nebo jiný konfigurační soubor, který čte a spouští bash shell.
V tomto článku budeme hovořit o spouštěcích souborech Bash a rozdílu mezi .bashrc
a .bash_profile
soubory.
Interaktivní přihlašovací a nepřihlašovací prostředí #
Když je Bash vyvolán, čte a provádí příkazy ze sady spouštěcích souborů. Jaké soubory se budou číst, závisí na tom, zda je shell vyvolán jako interaktivní přihlašovací nebo nepřihlašovací shell.
Shell může být interaktivní nebo neinteraktivní.
Jednoduše řečeno, interaktivní shell je shell, který čte a zapisuje do uživatelského terminálu, zatímco neinteraktivní shell je shell, který není spojen s terminálem, jako když se spouští skript.
Interaktivní shell může být buď přihlašovací nebo nepřihlašovací.
Přihlašovací shell se vyvolá, když se uživatel přihlásí k terminálu vzdáleně přes ssh nebo lokálně, nebo když je Bash spuštěn pomocí --login
volba. Interaktivní nepřihlašovací shell je vyvolán z přihlašovacího shellu, například při psaní bash
ve výzvě shellu nebo při otevření nové karty terminálu Gnome.
Spouštěcí soubory Bash #
Když je Bash vyvolán jako interaktivní přihlašovací shell, hledá /etc/profile
soubor, a pokud soubor existuje, spustí příkazy uvedené v souboru. Poté Bash hledá ~/.bash_profile
, ~/.bash_login
a ~/.profile
soubory v uvedeném pořadí a provede příkazy od prvního nalezeného čitelného souboru.
Když je Bash vyvolán jako interaktivní nepřihlašovací shell, čte a provádí příkazy z ~/.bashrc
, pokud tento soubor existuje a je čitelný.
Rozdíl mezi .bashrc a .bash_profile #
.bash_profile
je načten a spuštěn, když je Bash vyvolán jako interaktivní přihlašovací shell, zatímco .bashrc
je spuštěn pro interaktivní nepřihlašovací shell.
Použijte .bash_profile
ke spouštění příkazů, které by se měly spustit pouze jednou, jako je přizpůsobení $PATH
proměnná prostředí.
Vložte příkazy, které se mají spustit pokaždé, když spustíte nový shell, do .bashrc
soubor. To zahrnuje vaše aliasy a funkce, vlastní výzvy, přizpůsobení historie a tak dále.
Obvykle ~/.bash_profile
obsahuje řádky jako pod tímto zdrojem .bashrc
soubor. To znamená, že pokaždé, když se přihlásíte do terminálu, jsou oba soubory načteny a spuštěny.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Většina distribucí Linuxu používá ~/.profile
místo ~/.bash_profile
. ~/.profile
soubor čtou všechny shelly, zatímco ~/.bash_profile
pouze od Bash.
Pokud se ve vašem systému nenachází žádný spouštěcí soubor, můžete jej vytvořit.
Závěr č.
.bash_profile
a .bashrc
jsou soubory obsahující příkazy shellu, které se spouštějí při vyvolání Bash. .bash_profile
se čte a spouští na interaktivních přihlašovacích shellech, zatímco .bashrc
v prostředí bez přihlášení.
Další informace o spouštěcích souborech Bash naleznete v příručce Bash.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.