Hur man åtgärdar "Kommando hittades inte"-fel i Mac-kommandoraden
Innehållsförteckning:
Avancerade Mac-användare som använder kommandoraden kan ibland stöta på felmeddelandet "kommandot hittades inte" när de försöker köra något på kommandoraden. Felet "Kommandot hittades inte" i terminalen kan dyka upp av flera anledningar i kommandoraden i MacOS och Mac OS X, som vi kommer att diskutera här, och naturligtvis kommer vi att erbjuda lösningar på dessa problem.
Varför du ser "kommandot hittades inte" felmeddelanden på kommandoraden
De fyra vanligaste anledningarna till att du kan se meddelandet "kommandot hittades inte" på Mac-kommandoraden är följande:
- kommandosyntaxen har angetts felaktigt
- kommandot du försöker köra är inte installerat
- kommandot raderades, eller ännu värre, systemkatalogen togs bort eller modifierades
- användarnas $PATH är ofullständig, eller $PATH har ställts in, återställts eller rensats felaktigt – detta är den vanligaste orsaken till att meddelandet "kommandot hittades inte"
Lyckligtvis kan du lösa alla dessa problem och få det vanliga att fungera igen som förväntat. Om du helt enkelt skrev in syntaxen fel, löser det det, enkelt! Utöver det börjar vi med den vanligaste orsaken, som är att användarnas $PATH inte är korrekt inställd eller återställdes på något sätt.
Åtgärda "Kommando hittades inte" terminalmeddelanden i Mac OS med $PATH-inställning
Den mest sannolika anledningen till att Mac-användare oväntat kan se meddelandet om kommandot hittades inte på kommandoraden är att något gick fel med användaren $PATH, eller att sökvägen där kommandot finns inte är inställd. Du kan kontrollera $PATH med "echo $PATH" om du känner för det, annars kan du bara köra följande kommandon för att ställa in standardsökvägen som Mac OS använder på kommandoraden:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin "
Tryck på retur och kör kommandot igen, det borde fungera bra.
Förresten, även om vi fokuserar på Mac OS här, gäller samma idé även för andra unix- och linux-varianter.
Observera om det avsedda kommandot du försöker använda finns i en icke-standardkatalog eller på en annan plats (/usr/local/sbin/ etc), kan du alltid lägga till den nya $PATH på kommandorad för att ange var du ska leta om det behövs.
Före, där meddelandet "kommandot hittades inte" visas med enkla kommandorad ls och cd:
Efter, med dessa kommandon som fungerar som förväntat:
Hur går det till? Ibland kan det vara att köra ett ofullständigt eller felaktigt export $PATH-kommando, ett misslyckande med att justera miljövariabler, bland annat.
Du kan behöva uppdatera kommandoradsskalet för att ändringen ska träda i kraft. Om du startar om terminalen och får felmeddelandet "kommandot hittades inte" igen, lägg sedan till exportkommandona $PATH till användarnas .bash_profile, .profile eller relevant skalprofil om du använder ett alternativt skal i Terminal-appen.
“Kommandot hittades inte” eftersom kommandot inte är installerat? Använd HomeBrew
Om kommandot helt enkelt inte är installerat på Mac, för vanliga exempel som wget, htop eller de många andra användbara unix-kommandon som finns tillgängliga som Homebrew-paket som annars inte är förinstallerade i Mac OS, då enklaste lösningen är att installera och använda Homebrew på Mac för att få tillgång till dessa kommandoradsverktyg. Homebrew är hur som helst ett bra verktyg, så om du ska spendera tid i terminalen kommer du förmodligen att vilja ha det.
“Kommandot hittades inte” eftersom en systemkatalog saknas? Återställ de saknade systemfilerna
Då och då kan Mac-användare hamna i en situation där de av misstag eller oavsiktligt raderar systemfiler från Mac OS. Vanligtvis händer detta när någon experimenterar med rm/srm-kommandon och ett jokertecken, eller så kanske de blev alltför nitiska med papperskorgen när de loggade in som root. Hur som helst kan du läsa här hur du återställer raderade eller saknade systemfiler till Mac OS och Mac OS X – det innebär vanligtvis att du återställer från en säkerhetskopia eller installerar om själva systemprogramvaran.
Känner du till någon annan anledning till att du kan se felmeddelandet "kommandot hittades inte" i Mac OS Terminal? Kanske har du en bättre lösning än vad som erbjuds ovan? Dela med oss i kommentarerna nedan!