sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #89112
Re: Finde stien til et shellscript
On Fri, 2006-08-25 at 21:45 +0000, Jørgen Heesche wrote:
> Ja, det er et ejendommeligt problem!. Hvorfor skal et script arbejde
> relativt til det katalog, som rummer scriptet?. Normalt samler man alle
> scripts i samme katalog, og dette katalog inkluderes i variablen PATH.
> Det giver ingen mening at gøre noget relativt til det katalog.
Personligt synes jeg ikke det er så ejendommeligt, men jeg benytter mig
trods alt også af at kalde scripts der ligger uden for PATH, og som er
bestemt relativt i forhold til scriptet der køres. Det skal dog siges,
at scriptene bliver kaldt med absolutte navne (deraf funktionen
absolute_path).
./config/ftp
./config/smb
./work/smb/00_start/
./work/smb/01_klar/
./work/smb/02_konv/
./work/smb/03_sendt/
./transbin/funktioner
./transbin/job_ftp
./transbin/job_smb
./transbin/s_ftp/klargoer
./transbin/s_ftp/konverter
./transbin/s_ftp/send
./transbin/s_smb/klargoer
./transbin/s_smb/konverter
Ovenstående er et - meget - simplificeret udsnit af katalogstrukturen
for et af de script-komplekser jeg normalt arbejder med. Scriptene
farter rundt i katalogstrukturen på maskinen, men jeg har som noget af
det første lavet en BINDIR variabel. BINDIR benyttes så til at kalde
scripts i s_ katalogerne.
Jeg kunne sagtens hardkode det, men så mister jeg friheden til at
udvikle eet sted, og sætte i drift fra anden placering. Med afvikling af
scripts relativt til det originale script, kan jeg blot synkronisere
hele script-komplekset, og vide at det stadig fungerer.
Alle scripts logger deres handlinger i en central logfil. Det er derfor
vigtigt at have den fulde sti til scriptene for simpelt at kunne finde
ud af præcist hvilket script der har logget hvad.
Der kan også være andre ting, som lægges relativt til hvor scriptet er
placeret. Det kunne f.eks. være konfigurationsfiler, definitionsfiler,
arbejdskataloger o.m.a.
I mit tilfælde kommer opbygningen af et ønske om nemt at kunne overskue
hvad der er i systemet, samt simpelt at kunne finde frem til et
eventuelt problemområde. Hvis f.eks. konvertering af data for ftp
systemet fejler, så ved jeg præcist hvilket script/program jeg skal ind
og kigge i for at finde problemet. Det er også nemmere at lave kraftig
fejlhåndtering, uden at scripts bliver uoverskuelige af alle mulige
checks.
Hvis jeg skulle have det hele i eet katalog ville det mildest talt blive
uoverskueligt. Hvis jeg skulle lave PATH til alle systemets
underkataloger med scripts ville PATH blive totalt fyldt op, for slet
ikke at tale om at jeg skulle til at navngive scripts efter delsystem og
ikke så meget den funktion de udfører.
Kort sagt: Jeg synes ikke det er absolut ikke spor ejendommeligt at
skulle have den absolutte path til et script der bliver afviklet, eller
benytte sig af data/scripts der befinder sig relativt til det kaldte
script.
Med venlig hilsen
Bjørn Bille Højte
References