OS X: Endre PATH miljø variable

OS X: Endre søkestien PATH

Når du kjører en kommando fra en UNIX eller UNIX-lignende skall, ser skallet for den kjørbare filen ved hjelp katalogene oppført i PATH variabelen som et kart. For enkelhets skyld legge kataloger til denne miljøvariabelen betyr at du ikke trenger å gå på jakt etter en fil hver gang du kjører den. Etter disse retninger vil tillate deg å legge til en katalog til søke PATH.


å endre din vei, må du redigere .profile fil i hjemmekatalogen. Hvis du er komfortabel med å bruke editoren vi, har du sannsynligvis ikke trenger å lese videre. Hvis ikke, så kan du bruke TextEdit til å redigere ditt .profile.

Standard .profile er ganske kort. Den .profile blir lest når du åpner et terminalvindu og hver linje er utført på samme måte som å skrive en kommando i Terminal-vinduet. Selv om dette er praktisk fordi du kan gjøre noen tilgjengelige kommando løp når du slippe til et skall, er vi opptatt av å endre en miljøvariabel, PATH.

I redigeringsprogrammet, finne en linje som starter med eksport PATH = og gi den en titt for å sørge for at det ikke allerede inneholder katalogbanen du skal legge til. Noen ganger PATH variabelen kan få lang, men sjansene er din bare har noen få kataloger atskilt med kolon, kanskje noe sånt som dette:

export PATH = /opt /local /bin: /opt /local /sbin: $ PATH

Det er et par ting å merke seg før du gjør endringer. Formatet av denne linjen er viktig. Bruken av mellomrom i denne kommandoen, eller deres mangel, saker. Spesielt kan det ikke være mellomrom rundt likhetstegnet eller mellom noen av katalogene. Hvis det er mellomrom i mappenavnet du ønsker å legge til, må du unnslippe plass ved foregående den med en \\ backslash eller ved å sette banen i anførselstegn (export PATH = "/sti /her"). Anmeldelser

Eksport = nøkkelordet foran den linjen har en meget bestemt formål. Definere en variabel uten å eksportere det gjør den tilgjengelig bare for den aktuelle skallet, ikke til eventuelle senere skjell. Du kan tenke deg selv at du ikke har tenkt å gjøre noen påfølgende skjell, men dette skjer når du kjører et shell script. Hvis PATH variabelen ikke ble eksportert, når du kjører et shell script, PATH ville ikke lenger eksisterer, og det er mulig at manuset ville mislykkes.

$ PATH på slutten av eksemplet ovenfor slår den tidligere verdien av variabelen (hvis den finnes) på enden av banen. Som standard vil dette legge ': /bin: /sbin: /usr /bin: /usr /sbin "på slutten av banen for deg som er nyttig fordi nesten alt du kjøre fra kommandolinjen bor der
.

Så, for å legge til en ny katalog til banen, bare legge den til den eksisterende PATH linje i .profile være nøye med å skille det fra andre kataloger der med kolon og forsiktig med å introdusere uønskede mellomrom (alt etter plassen vil være ignorert). For eksempel vil legge katalogen /mightyq /bin til PATH vist ovenfor, kan linjen bli noen av følgende eksempler:

export PATH = /mightyq /bin: /opt /local /bin: /opt /local /sbin: $ PATH
export PATH = /opt /local /bin: /mightyq /bin: /opt /local /sbin: $ PATH
export PATH = /opt /local /bin: /opt /local /sbin: $ PATH: /mightyq /bin

Merk at i tredje eksempel den nye katalogen er lagt til slutten av banen. Du har muligheten til å optimalisere søkene skallet vil gjøre på dine vegne hver gang du kjører en kommando ved å organisere din PATH logisk. Putting sjeldnere brukt eller virkelig massive kataloger senere på banen kan gi deg en liten ytelsesøkning (selv om disse dager ting er ganske fort, så du må være litt anal å virkelig nyte dette).

Hvis du trenger ikke en katalog på din vei, du kan reversere prosessen ved å slette uønsket katalogen fortsatt ta vare å bevare ingen mellomrom, kolon separasjons regler.

Et siste notat, for å teste den forandringen du har gjort, du kan bruke echo-kommandoen, men du trenger å gjøre skallet laste .profile først. Forutsatt at du er i ditt hjemmeområde (hvis ikke, vil kjøre 'cd' uten noen alternativer ta deg dit), kjører disse kommandoene:

. ./.profile
echo $ PATH

Den første er en pen liten kommando ved at den viser tre bruk eller tolkninger av perioden i en enkelt linje. Den første . er en snarvei for å forårsake skallet til "kilden" eller laste innholdet i den påfølgende filen som seg selv, på den måten at skallet bruker når du logger inn på et system eller starte et terminalvindu. Hvis du bare henrettet disse kommandoene som et shell script (bash .profile, for eksempel) du vil starte et nytt skall, som ville skallet få variable sett, og på slutten av å kjøre .profile skriptet, vil det nye skallet opphøre å eksistere og de nylig definerte variabler vil bli henvist til den savnede sokken universet.

Den andre perioden betyr gjeldende arbeidskatalog. Det er ikke obligatorisk på noen måte i denne kommandoen, men det er vane fra å forklare prikkene til folk, så jeg skriver det hele tiden nå. I denne sammenheng kan du også bruke ~ /.profile som ~ betyr eksplisitt hjemmekatalogen.

Den siste prikken forårsaker .profile å være skjult fra visningen i en normal katalogoppføring eller Finder visning. Det endrer ikke filen på noen annen måte, det bare gjør det usynlig og de-clutters kataloger. For å se skjulte filer, kan du bruke "ls -a", og du kan bli overrasket over hva du finner. Anmeldelser