Hvordan legge til en katalog i PATH?

Hvordan legger jeg til en katalog i $PATH i Ubuntu og gjør endringene permanente?

Løsning

Bruke ~/.profile for å angi $PATH

En sti som er angitt i .bash_profile vil bare bli angitt i et bash-påloggingsskall (bash -l). Hvis du setter banen din i .profile, vil den være tilgjengelig for hele skrivebordsøkten din. Det betyr at selv metacity vil bruke den.

For eksempel ~/.profile:

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

Du kan forresten sjekke PATH-variabelen til en prosess ved å se på dens miljø i /proc/[pid]/environ (erstatt [pid] med nummeret fra ps axf). Bruk f.eks. grep -z "^PATH" /proc/[pid]/environ.

Merk:

bash som påloggingsskall analyserer ikke .profile hvis enten .bash_profile eller .bash_login finnes. Fra man bash:

ser den etter ~/.bash_profile, ~/.bash_login og ~/.profile, i den rekkefølgen. rekkefølge, og leser og utfører kommandoer fra den første som finnes og er lesbar.

Se svarene nedenfor for informasjon om .pam_environment, eller .bashrc for interaktive ikke-påloggingsskall, eller angi verdien globalt for alle brukere ved å legge inn et skript i /etc/profile.d/ eller bruk /etc/X11/Xsession.d/ for å påvirke skjermbehandlingssesjonen.

Kommentarer (11)

Rediger .bashrc i hjemmekatalogen din og legg til følgende linje:

export PATH="/path/to/dir:$PATH"

Du må kilde din .bashrc eller logge ut/inn (eller starte terminalen på nytt) for at endringene skal tre i kraft. For å kilde din .bashrc, skriv ganske enkelt inn

$ source ~/.bashrc
Kommentarer (8)

Å legge den til .bashrc vil fungere, men jeg tror den mer tradisjonelle måten å sette opp stivariablene dine er i .bash_profile ved å legge til følgende linjer.

PATH=$PATH:/my/path/foo
export PATH

Ifølge denne tråden ser det ut som om Ubuntu&# 39s oppførsel er litt annerledes enn RedHat og kloner.

Kommentarer (5)