Slik løser du "Kommando ikke funnet" feil i Mac Command Line

Avanserte Mac-brukere som bruker kommandolinjen, kan av og til oppleve en feilmelding om "kommando ikke funnet" når de prøver å kjøre noe på kommandolinjen. Feilmeldingen "kommando ikke funnet" i terminalen kan overflaten av flere grunner i kommandolinjen til MacOS og Mac OS X, slik vi diskuterer her, og selvfølgelig vil vi tilby løsninger på disse problemene.


De fire vanligste årsakene til at du kanskje ser meldingen "kommando ikke funnet" i Mac-kommandolinjen, er som følger:

  • kommandosyntaxen ble skrevet feil
  • kommandoen du forsøker å kjøre er ikke installert
  • kommandoen ble slettet, eller verre, systemkatalogen ble slettet eller endret
  • brukerne $ PATH er ufullstendig, eller $ PATH er feilaktig angitt, tilbakestilt eller ryddet - dette er den vanligste grunnen til å se en "kommando ikke funnet" melding

Heldigvis kan du løse alle disse problemene og få den vanlige jobben igjen som forventet. Hvis du bare skrev inn syntaksen feil, slår du inn det riktig, det er enkelt! Utover det begynner vi den vanligste årsaken, som er at brukerne $ PATH ikke er satt riktig, eller ble nullstilt på en eller annen måte.

Fiksing "Kommando ikke funnet" Terminal Meldinger i Mac OS med $ PATH Innstilling

Den mest sannsynlige grunnen til at Mac-brukere uventet kan se kommandoen ikke funnet meldingen i kommandolinjen, noe gikk galt med brukerne $ PATH, eller banen der kommandoen befinner seg, er ikke angitt. Du kan sjekke $ PATH med "echo $ PATH" hvis du har det, ellers kan du bare kjøre følgende kommandoer for å angi standard standard banen som Mac OS bruker på kommandolinjen:

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Hit tilbake og kjør kommandoen igjen, det burde fungere fint.

Forresten, selv om vi fokuserer på Mac OS her, gjelder denne samme ideen også for andre unix- og linux-varianter.

Merk om den planlagte kommandoen du forsøker å bruke er plassert i en ikke-standard katalog eller på et annet sted (/ usr / local / sbin / etc), kan du alltid legge til den nye $ PATH på kommandolinjen for å spesifisere hvor du skal se om behov for.

Før, hvor "kommandoen ikke funnet" meldingen viser opp kjører enkle kommandoer linje ls og cd:

Etter, med disse kommandoene jobber med hell som forventet:

Hvordan skjer dette? Noen ganger kan det kjøre en ufullstendig eller feil eksport $ PATH-kommando, en feil i å justere miljøvariabler blant andre grunner.

Du må kanskje oppdatere kommandolinjeskallet for at endringen skal tre i kraft. Hvis du gjenoppretter terminalen og får feilen "kommando ikke funnet" igjen, legger du til eksport $ PATH-kommandoene til brukerne .bash_profile, .profile eller relevant 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 de mange andre nyttige unix-kommandoene som er tilgjengelige som Homebrew-pakker som ikke er forhåndsinstallert i Mac OS, er den enkleste løsningen å installere og bruke Homebrew på Mac for å få tilgang til disse kommandolinjeverktøyene. Homebrew er et bra verktøy uansett, så hvis du skal tilbringe tid i Terminal vil du sikkert ha det.

"Kommando ikke funnet" fordi en systemkatalog mangler? Gjenopprett de manglende systemfilene

Hver gang en gang, kan Mac-brukere befinner seg i en situasjon der de ved et uhell eller ved et uhell slettet systemfiler fra Mac OS. Vanligvis skjer dette når noen eksperimenterer med rm / srm-kommandoene og et jokertegn, eller kanskje blir de altfor ivrige etter papirkurven når de logges inn som rot. Under alle omstendigheter 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 programvaren på nytt.

Vet du om en annen grunn hvorfor du kanskje ser feilmeldingen "kommando ikke funnet" i Mac OS Terminal? Kanskje har du en bedre løsning enn hva som tilbys ovenfor? Del med oss ​​i kommentarene nedenfor!