Kommandofortolkere af populære fabrikater, heriblandt særligt GNU Bash, er noget situationsafhængige mht. hvornår de indlæser hvilke af deres brugeropsætningsfiler. Særligt indlæses ~/.profile
(eller tilsvarende ~/.bash_profile
) kun af en logindskal (en såkaldt login-shell
), medens f.eks. ~/.bashrc
indlæses ved hver opstart af kommandofortolkeren. En vanskelighed er at den kommandofortolker der startes i grafiske miljøer som regel ikke er en logindskal, medens de typisk er det når man tilgår en fjerndatamat over SSH. Man kunne naturligvis placere al opsætning i ~/.bashrc
, men ofte er der opsætning som ikke så gerne tåler at blive udført to gange, f.eks. udvidelse af miljøvariable som $PATH
eller opstart af SSH-agenter, hvilket kan ske ved brug af underfortolkere.
En god fidus er således at lade ~/.bashrc
indlæse ~/.profile
, men først efter kontrol af en til formået defineret variabel, der så sættes i ~/.profile
. Helt konkret indsætter man i starten af ~/.bashrc
følgende:
[ "$DOT_PROFILE_EVALUATED" ] || source $HOME/.profileOg et sted i ~/.profile følgende:
export DOT_PROFILE_EVALUATED=1
Dette sikrer at ~/.profile
er blevet indlæst i hver inkarnation af kommandofortolkeren, men blot én gang.