Pokročilí uživatelé počítačů Mac, kteří používají příkazový řádek, se mohou občas setkat s chybovým hlášením „Příkaz nebyl nalezen“, když se pokusí něco spustit v příkazovém řádku. Chybové hlášení „příkaz nenalezen“ v Terminálu se může v příkazovém řádku systémů MacOS a Mac OS X objevit z několika důvodů, které zde probereme, a samozřejmě nabídneme i řešení těchto problémů.
Proč se v příkazovém řádku zobrazují chybové zprávy „příkaz nenalezen“
Čtyři nejčastější důvody, proč se v příkazovém řádku systému Mac může zobrazit zpráva „příkaz nenalezen“, jsou následující:
- byla špatně zadána syntaxe příkazu
- příkaz, který se pokoušíte spustit, není nainstalován
- příkaz byl smazán, v horším případě byl smazán nebo změněn systémový adresář
- uživatelský $PATH není úplný, nebo bylo $PATH chybně nastaveno, resetováno nebo vymazáno – to je nejčastější důvod zobrazení hlášení „příkaz nenalezen“
Všechny tyto problémy lze naštěstí vyřešit a běžný příkaz opět funguje podle očekávání. Pokud jste jednoduše špatně zadali syntaxi, vyřeší to její správné zadání, snadné! Kromě toho začneme nejčastějším důvodem, kterým je to, že uživatelé nemají správně nastavený $PATH nebo byl nějak přenastaven.
Oprava terminálových zpráv „Příkaz nenalezen“ v systému Mac OS s nastavením $PATH
Nejpravděpodobnějším důvodem, proč se uživatelům systému Mac může nečekaně zobrazit zpráva o nenalezení příkazu v příkazovém řádku, je to, že se něco pokazilo s uživatelovým $PATH nebo není nastavena cesta, kde se příkaz nachází. Pokud se na to cítíte, můžete zkontrolovat $PATH pomocí příkazu „echo $PATH“, jinak stačí spustit následující příkazy pro nastavení standardní výchozí cesty, 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ěl by fungovat správně.
Mimochodem, i když se zde zaměřujeme na Mac OS, stejná myšlenka platí i pro ostatní odrůdy unixu a linuxu.
Poznamenejte, že pokud se zamýšlený příkaz, který se pokoušíte použít, nachází v nestandardním adresáři nebo na jiném místě (/usr/local/sbin/ atd.), můžete vždy přidat tento nový $PATH na příkazový řádek a určit, kde se má v případě potřeby hledat.
Před, kde se objeví hlášení „příkaz nenalezen“, spuštěním jednoduchých příkazů řádku ls a cd:
Po, přičemž tyto příkazy úspěšně fungují podle očekávání:
Jak se to stane? Někdy může jít o spuštění neúplného nebo nesprávného příkazu export $PATH, selhání nastavení proměnných prostředí a další důvody.
Možná budete muset obnovit příkazový řádek shellu, aby se změna projevila. Pokud znovu spustíte Terminál a znovu se zobrazí chyba „příkaz nebyl nalezen“, přidejte příkazy export $PATH do uživatelova .bash_profile, .profile nebo příslušného profilu shellu, pokud používáte alternativní shell v aplikaci Terminál.
„Příkaz nebyl nalezen“, protože příkaz není nainstalován? Použijte HomeBrew
Pokud příkaz prostě není na Macu nainstalován, v případě běžných příkladů, jako je wget, htop nebo mnoho dalších užitečných unixových příkazů dostupných jako balíčky Homebrew, které jinak nejsou v Mac OS předinstalovány, je nejjednodušším řešením nainstalovat a používat Homebrew na Macu, 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 nebyl nalezen“, protože chybí systémový adresář? Obnovení chybějících systémových souborů
Každý uživatel Macu se může jednou za čas dostat do situace, kdy omylem nebo nedopatřením odstraní systémové soubory z Mac OS. Obvykle se to stává, když někdo experimentuje s příkazy rm/srm a zástupným znakem nebo třeba příliš horlivě zacházel s košem, když byl přihlášen 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 Mac OS a Mac OS X – obvykle se jedná o obnovu ze zálohy nebo přeinstalaci samotného systémového softwaru.