Hvordan fikse «Kommando ikke funnet»-feil i Mac-kommandolinjen
Innholdsfortegnelse:
Avanserte Mac-brukere som bruker kommandolinjen kan av og til støte på en "kommando ikke funnet" feilmelding når de prøver å kjøre noe på kommandolinjen. "Kommando ikke funnet"-feilen i terminalen kan dukke opp av flere årsaker i kommandolinjen til MacOS og Mac OS X, som vi vil diskutere her, og selvfølgelig vil vi tilby løsninger på disse problemene.
Hvorfor du ser "kommando ikke funnet" feilmeldinger på kommandolinjen
De fire vanligste årsakene til at du kan se meldingen "kommando ikke funnet" på Mac-kommandolinjen er som følger:
- kommandosyntaksen ble angitt feil
- kommandoen du prøver å kjøre er ikke installert
- kommandoen ble slettet, eller enda verre, systemkatalogen ble slettet eller endret
- brukerne $PATH er ufullstendig, eller $PATH er feilaktig satt, tilbakestilt eller slettet – dette er den vanligste grunnen til å se en "kommando ikke funnet"-melding
Heldigvis kan du løse alle disse problemene og få det vanlige til å fungere igjen som forventet. Hvis du rett og slett skrev inn feil syntaks, løser du det ved å angi den riktig, enkelt! Utover det starter vi med den vanligste årsaken, som er at brukerens $PATH ikke er riktig satt, eller ble tilbakestilt på en eller annen måte.
Fiksing «Command Not Found»-terminalmeldinger i Mac OS med $PATH-innstilling
Den mest sannsynlige årsaken til at Mac-brukere uventet kan se kommandoen ikke funnet-meldingen på kommandolinjen, er at noe gikk g alt med brukeren $PATH, eller at banen der kommandoen befinner seg ikke er angitt. Du kan sjekke $PATH med "echo $PATH" hvis du føler for det, ellers kan du bare kjøre følgende kommandoer for å angi standard standardbane som Mac OS bruker på kommandolinjen:
eksport PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin "
Trykk retur og kjør kommandoen din på nytt, den skal fungere fint.
Forresten, selv om vi fokuserer på Mac OS her, gjelder den samme ideen også for andre unix- og linux-varianter.
Merk hvis den tiltenkte kommandoen du prøver å bruke er plassert i en ikke-standard katalog eller et annet sted (/usr/local/sbin/ etc), kan du alltid legge til den nye $PATH på kommandolinje for å angi hvor du skal lete om nødvendig.
Før, der meldingen "kommando ikke funnet" vises som kjører enkle kommandoer linje ls og cd:
Etter, med disse kommandoene som fungerer som forventet:
Hvordan skjer dette? Noen ganger kan det være å kjøre en ufullstendig eller feil eksport $PATH-kommando, en feil med å justere miljøvariabler, blant andre årsaker.
Du må kanskje oppdatere kommandolinjeskallet for at endringen skal tre i kraft. Hvis du starter terminalen på nytt og får feilmeldingen "kommando ikke funnet" igjen, legger du til eksport $PATH-kommandoene til brukernes .bash_profile, .profile eller relevante skallprofil hvis du bruker et alternativt skall i Terminal-appen.
“Kommando ikke funnet” fordi kommandoen ikke er installert? Bruk HomeBrew
Hvis kommandoen bare ikke er installert på Mac, for vanlige eksempler som wget, htop eller mange andre nyttige unix-kommandoer tilgjengelig som Homebrew-pakker som ikke ellers er forhåndsinstallert i Mac OS, Den enkleste løsningen er å installere og bruke Homebrew på Macen for å få tilgang til disse kommandolinjeverktøyene. Homebrew er uansett et flott verktøy, så hvis du skal tilbringe tid i terminalen, vil du sannsynligvis ha det.
“Kommando ikke funnet” fordi en systemkatalog mangler? Gjenopprett de manglende systemfilene
En gang i blant kan Mac-brukere komme i en situasjon der de ved et uhell eller utilsiktet slettet systemfiler fra Mac OS. Vanligvis skjer dette når noen eksperimenterer med rm/srm-kommandoene og et jokertegn, eller kanskje de ble altfor ivrige med søppelbøtten når de er logget på som root. Uansett kan du lese her hvordan du gjenoppretter slettede eller manglende systemfiler til Mac OS og Mac OS X – det innebærer vanligvis å gjenopprette fra en sikkerhetskopi eller å installere selve systemprogramvaren på nytt.
Vet du en annen grunn til at du kan se feilmeldingen "kommando ikke funnet" i Mac OS Terminal? Kanskje du har en bedre løsning enn det som tilbys ovenfor? Del med oss i kommentarfeltet nedenfor!