← Back to team overview

sslug-teknik team mailing list archive

Re: Finde stien til et shellscript

 

Jacob Bunk Nielsen wrote:
Jørgen Heesche <heesche@xxxxxxxxxxx> writes:

Et lille forsøg viser mig at 'echo $0' giver den fulde sti til scriptet.
I /home/user/bin har jeg lagt et script, testsh:
echo $0
pwd

Kaldt fra /home/user ses outputtet:

/home/user/bin/testsh
/home/user

Hvad så med:

$ ./bin/testsh.sh
./bin/testsh.sh
/home/jbn
$ cat bin/testsh.sh
#!/bin/sh
echo $0
pwd

Så en kombination af pwd og $0, men så risikerer man stier som:

/dir/../dir/ og tilsvarende.


Det vil sikkert virke i de fleste tilfælde, men det var netop det
Kenneth ikke var så vil med.

Ja, men scriptet skall selvfølgelig ikke kaldes med './bin/testsh.sh'.
Environment variabel PATH skal indeholde stien '/home/user/bin', så kan man bare taste testsh hvorsomhelst.
Jeg medtog et kald af pwd i scriptet for at illustrere forskellen.

--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@xxxxxxxxxxx
Registered Linux User #401007


References