Hvad er forskellen mellem .bashrc og .bash_profile, og hvilken bør anvendes?
Forskellen mellem .bashrc og .bash_profile er, at .bashrc indlæses ved hver ny ikke-login shell, mens .bash_profile indlæses ved login shell; brug .bashrc til aliaser og shell-specifikke funktioner og .bash_profile til miljøvariabler ved login.
Forskellen mellem .bashrc og .bash_profile, og hvilken bør anvendes
Når man arbejder med Bash shell på Unix-baserede systemer, støder man ofte på konfigurationsfilerne .bashrc
og .bash_profile
. Selvom de begge bruges til at konfigurere brugerens shell-miljø, er der nogle væsentlige forskelle mellem dem:
- .bashrc:
- Indlæses hver gang en ny ikke-login shell startes.
- Typisk brugt til at definere aliaser, funktioner og shell-specifikke indstillinger.
- Eksekveres automatisk, når en terminal emulator åbnes.
- .bash_profile:
- Indlæses kun én gang, når en login shell startes.
- Bruges ofte til at indstille miljøvariabler som
PATH
, USER
, og HOME
.
- Eksekveres, når brugeren logger ind via en konsol eller en fjernforbindelse som SSH.
Hvilken bør anvendes?
Valget mellem .bashrc
og .bash_profile
afhænger af, hvad du ønsker at opnå:
- Brug
.bashrc
til:
- Aliaser og shell-specifikke funktioner, der skal være tilgængelige i alle terminaler.
- Indstillinger, der skal anvendes hver gang en ny terminal åbnes.
- Brug
.bash_profile
til:
- Miljøvariabler, der skal sættes én gang ved login.
- Indstillinger, der kun skal anvendes ved login-sessioner.
For at sikre, at indstillingerne i .bashrc
også anvendes i login shells, kan du inkludere følgende linje i din .bash_profile
:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Dette vil sikre, at indstillingerne i .bashrc
også anvendes, når en login shell startes.