Jak opravit chyby „Příkaz nebyl nalezen“ v příkazovém řádku Mac
Obsah:
Pokročilí uživatelé počítačů Mac, kteří používají příkazový řádek, se mohou občas setkat s chybovou zprávou „příkaz nenalezen“ při pokusu o spuštění něčeho v příkazovém řádku. Chyba „příkaz nenalezen“ v Terminálu se může objevit z několika důvodů v příkazovém řádku MacOS a Mac OS X, jak zde probereme, a samozřejmě nabídneme řešení těchto problémů.
Proč se na příkazovém řádku zobrazují chybové zprávy „Příkaz nenalezen“
Čtyři nejčastější důvody, proč se na příkazovém řádku systému Mac může zobrazit zpráva „příkaz nenalezen“, jsou následující:
- syntaxe příkazu byla zadána nesprávně
- příkaz, který se pokoušíte spustit, není nainstalován
- příkaz byl smazán, nebo v horším případě byl smazán nebo upraven systémový adresář
- uživatelé $PATH je neúplná nebo $PATH byla chybně nastavena, resetována nebo vymazána – toto je nejčastější důvod, proč se zobrazí zpráva „příkaz nenalezen“
Naštěstí můžete vyřešit všechny tyto problémy a znovu začít fungovat podle očekávání. Pokud jste jednoduše zadali nesprávnou syntaxi, její správné zadání to vyřeší, snadné! Kromě toho začneme nejběžnějším důvodem, kterým je, že $PATH uživatelů není správně nastaveno nebo bylo nějak resetováno.
Oprava zpráv terminálu „Příkaz nenalezen“ v systému Mac OS pomocí nastavení $PATH
Nejpravděpodobnějším důvodem, proč uživatelé Mac mohou neočekávaně vidět zprávu příkaz nenalezen v příkazovém řádku, je něco, co se pokazilo s uživateli $PATH nebo není nastavena cesta, kde se příkaz nachází. Můžete zkontrolovat $PATH pomocí „echo $PATH“, pokud se vám to líbí, jinak stačí spustit následující příkazy a nastavit standardní výchozí cestu, kterou Mac OS používá v příkazovém řádku:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin "
Stiskněte return a spusťte příkaz znovu, mělo by to fungovat dobře.
Mimochodem, i když se zde zaměřujeme na Mac OS, stejná myšlenka platí i pro jiné unixové a linuxové varianty.
Všimněte si, že pokud je zamýšlený příkaz, který se pokoušíte použít, umístěn v nestandardním adresáři nebo v jiném umístění (/usr/local/sbin/ atd.), můžete vždy přidat tuto novou $PATH na příkazový řádek k určení, kde hledat v případě potřeby.
Předtím, kde zpráva „příkaz nenalezen“ ukazuje spuštěné jednoduché příkazy řádek ls a cd:
Poté, kdy tyto příkazy úspěšně fungují podle očekávání:
Jak se to stane? Někdy to může být mimo jiné spuštění neúplného nebo nesprávného exportního příkazu $PATH, selhání úpravy proměnných prostředí.
Aby se změna projevila, možná budete muset aktualizovat shell příkazového řádku. Pokud znovu spustíte terminál a znovu se zobrazí chyba „příkaz nenalezen“, přidejte exportní příkazy $PATH k uživatelům .bash_profile, .profile nebo příslušnému profilu prostředí, pokud používáte alternativní prostředí v aplikaci Terminál.
„Příkaz nenalezen“, protože příkaz není nainstalován? Použijte HomeBrew
Pokud příkaz není nainstalován na Macu, například pro běžné příklady jako wget, htop nebo mnoho dalších užitečných unixových příkazů dostupných jako balíčky Homebrew, které nejsou jinak předinstalované v Mac OS, nejjednodušším řešením je nainstalovat a používat Homebrew na Mac, abyste získali přístup k těmto nástrojům příkazového řádku. Homebrew je každopádně skvělý nástroj, takže pokud budete trávit čas v Terminálu, pravděpodobně ho budete chtít.
„Příkaz nenalezen“, protože chybí systémový adresář? Obnovte chybějící systémové soubory
Čas od času se mohou uživatelé Macu dostat do situace, kdy omylem nebo nedopatřením smazali systémové soubory z Mac OS. Obvykle se to stane, když někdo experimentuje s příkazy rm/srm a zástupným znakem, nebo se možná stal příliš horlivým s košem, když se přihlásil jako root. V každém případě si zde můžete přečíst, jak obnovit smazané nebo chybějící systémové soubory do Mac OS a Mac OS X – obvykle to zahrnuje obnovu ze zálohy nebo přeinstalaci samotného systémového softwaru.
Víte o jiném důvodu, proč se vám v terminálu Mac OS může zobrazit chybová zpráva „Příkaz nenalezen“? Možná máte lepší řešení než to, co je nabízeno výše? Podělte se s námi v komentářích níže!