THE “PATH”

Når du skriver en kommando i en shell, behøver du ikke at kende kommandoen’s fulde sti. Bare program navcnet er nok. Hvis du skriver firefox og programmet starter op.
Dette skyldes at firefox er in din <b>PATH</b>. Som for systemet er /usr/bin hvor den kan finde firefox programmet. Næste alle programer eller kommandoer er installeret i  /bin, /usr/bin og /usr/local/bin, da disse i din PATH.

Nogle gange er programmer installeret et andet sted. Så det ikke er i din path. Og du skal lave skript som gør at programmet bliver startet.

Først lad og se hvad der normalt er i en path med komandonen.

$ echo $PATH

Du vil se noget som dette.

/usr/X11R6/bin:/usr/local/bin:/bin:/usr/bin:/usr/games:/usr/lib/jre-1.4.1_01/bin

For root:

$ su < password > 
$ echo $PATH

Vil give dig noget som dette.

/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin


Som du kan se er path ikke den samme for root som for en normal bruger. Og det er derfor ikke alle kommandomer som kan udføres som root kan findes som normal bruger.
Lad os antage at du vil tilføje /home/bruno/progs/exec dir ( det er det sted som din program er gemt ) til din PATH: Hvordan gør jeg det.

$ export PATH=$PATH:/home/bruno/progs/exec

Nu kan du start dit program for at starte dit program som jo ligger i /home/bruno/progs/ og systemet kan finde filen. Da den er i din path.
Så man kan sige at PATH er det sted hvor dit OS vil kikke efter programmer eller skript som den skal starte når du skriver komandoen. Det er nemlig sådan i unix/linux at programmer lokalt i det dit du står i, ikke bliver udført ned mindre man skriver ./programmer navn. Som fortælder at du vil starte et
proram/skript hvor du står.


For at systemet gemmer det skal du rette i en fil. Det kan være en af følgende filer ( kommer and på hvilken OS/Linux du bruger) ~/.profile eller ~/.bash_profile eller /etc/profile eller /etc/csh.login.

Der er en linje som siger noget i den her retning.

PATH=$PATH:$HOME/bin

Du skal bare tilføke et kolon : og den nye sti. som vist her.

PATH=$PATH:$HOME/bin:/home/bruno/progs/

En anden måde er at gøre sådan her.

$ export PATH=$PATH:/home/bruno/progs/exec

Author:

Jeg er en professionel system administrator og grundlægger af linuxboxen.dk Jeg er en ivrig Linux-elsker og open source-entusiast. Jeg bruger Ubuntu og tror på at dele viden. Bortset fra Linux, elsker musik og dyr. Jeg er en stor fan af Dire straits.

Skriv et svar