Hvordan tilføjer jeg en mappe til $PATH
i Ubuntu og gør ændringerne permanente?
En sti sat i .bash_profile
vil kun blive sat i en bash login shell (bash -l
).
Hvis du sætter din sti i .profile
vil den være tilgængelig for hele din skrivebordssession. Det betyder, at selv metacity vil bruge den.
For eksempel ~/.profile
:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
Du kan forresten tjekke PATH-variablen for en proces ved at se på dens miljø i /proc/[pid]/environ
(erstat [pid] med nummeret fra ps axf
). Brug f.eks. grep -z "^PATH" /proc/[pid]/environ
bash
som en login shell analyserer ikke .profile
hvis enten .bash_profile
eller .bash_login
eksisterer. Fra man bash
:
den leder efter ~/.bash_profile, ~/.bash_login og ~/.profile, i det rækkefølge, og læser og udfører kommandoer fra den første, der findes og er læsbar.
Se svarene nedenfor for oplysninger om .pam_environment
, eller .bashrc
for interaktive ikke-login-shells, eller sæt værdien globalt for alle brugere ved at sætte et script i /etc/profile.d/
eller brug /etc/X11/Xsession.d/
til at påvirke display managers sessionen.
Rediger .bashrc
i din hjemmemappe og tilføj følgende linje:
export PATH="/path/to/dir:$PATH"
Du skal kildekode din .bashrc
eller logge ud/logge ind (eller genstarte terminalen) for at ændringerne træder i kraft. For at kildekode din .bashrc
skal du blot skrive
$ source ~/.bashrc
Tilføjelse til .bashrc vil virke, men jeg tror, at den mere traditionelle måde at opsætte dine stivariabler på er i .bash_profile ved at tilføje følgende linjer.
PATH=$PATH:/my/path/foo
export PATH
Ifølge denne tråd ser det ud til at Ubuntu's opførsel er lidt anderledes end RedHat og kloner.