Hvordan Unix Søger Efter en Fil: En Guide til PATH Variablen

Hvordan søger Unix efter en fil, når den eksekveres? Hvis der er flere eksekverbare filer med samme navn i PATH, hvilken foretrækkes? Er den aktuelle mappe inkluderet i søgningen, når en fil eksekveres? Vil en fil med navnet executable.sh i den aktuelle mappe kunne eksekveres med $ executed, hvis . ikke er en del af PATH?

Når Unix søger efter en fil, der skal eksekveres, bruger den miljøvariablen PATH til at finde eksekverbare filer i en bestemt rækkefølge. Hvis den aktuelle mappe ikke er en del af PATH, kan en fil i denne mappe ikke eksekveres uden at angive stien direkte.

Hvordan søger Unix efter en fil, når den eksekveres?

Når Unix søger efter en fil, der skal eksekveres, følger den en bestemt procedure:

  • Unix bruger miljøvariablen PATH til at finde eksekverbare filer.
  • PATH er en liste over kataloger, som Unix søger igennem i rækkefølge.
  • Unix søger i hvert katalog i PATH i den rækkefølge, de er angivet, indtil den finder en eksekverbar fil med det ønskede navn.

Hvis der er flere eksekverbare filer med samme navn i PATH, hvilken foretrækkes?

Hvis der er flere eksekverbare filer med samme navn i forskellige kataloger i PATH, vil Unix foretrække den første fil, den finder. Rækkefølgen af katalogerne i PATH bestemmer, hvilken fil der eksekveres først.

Er den aktuelle mappe inkluderet i søgningen, når en fil eksekveres?

Den aktuelle mappe er ikke automatisk inkluderet i søgningen, når en fil eksekveres. For at inkludere den aktuelle mappe i søgningen, skal den være en del af PATH. Dette kan gøres ved at tilføje . til PATH.

Vil en fil med navnet executable.sh i den aktuelle mappe kunne eksekveres med $ executed, hvis . ikke er en del af PATH?

Nej, en fil med navnet executable.sh i den aktuelle mappe vil ikke kunne eksekveres med $ executed, hvis . ikke er en del af PATH. For at eksekvere filen skal du enten:

  • Tilføje den aktuelle mappe til PATH ved at bruge export PATH=.:$PATH, eller
  • Eksekvere filen direkte ved at angive stien, f.eks. ./executable.sh.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker