Portál AbcLinuxu, 26. dubna 2024 11:57

Command not found (příkaz nenalezen)

Uvidíte-li tuto hlášku, znamená to, že shell nenašel příkaz který se snažíte spustit. Doslovný překlad zní "příkaz nenalezen".

Z toho vyplývá, že jste se buď spletli při psaní příkazu, a nebo příkaz někde je, ale shell ho nenašel, neboť hledá příkazy jen na místech specifikovaných v proměnné PATH. Obsah této proměnné si můžeme nechat vypsat třeba takto:
[petr@soban ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
Pokud shell příkaz nenajde, ale jste si jistí, že příkaz daného jména v systému opravdu máte, můžete zkusit příkaz najít (například příkazem find, více informací v tomto FAQ) a shellu poté předat celou cestu k příkazu, nebo rovnou do proměnné PATH přidat adresář, v němž se příkaz nachází.

Předání shellu celou cestu k příkazu by mohlo vypadat následovně (/home/petr/bin není součástí proměnné PATH):
[petr@soban ~]$ /home/petr/bin/nejaky-prikaz
Oproti tomu přidání celého adresáře do proměnné PATH tak, aby shell příkaz našel a my se o nic dalšího nemuseli starat, probíhá asi takto:
[petr@soban ~]$ export PATH=$PATH:/home/petr/bin
[petr@soban ~]$ nejaky-prikaz
První řádek znamená, že proměnná PATH má od této chvíle obsahovat to, co už obsahovala předtím ($PATH) a navíc ještě adresář /home/petr/bin. Ale pozor, tato nová proměnná PATH bude po odhlášení zapomenuta, proto, chceme-li tuto změnu uchovat na věky věků, musíme první řádek posledního příkladu (ten s exportem) do některého souboru, které váš shell načítá po svém spuštění. Používáte-li bash, ideální místo bude soubor .bashrc nebo .bash_profile ve vašem domovském adresáři.

Dokument vytvořil: Petr Šobáň, 28.9.2006 15:31 | Poslední úprava: Petr Šobáň, 29.2.2008 18:44 | Další přispěvatelé: Milan Vít, Petr Šobáň | Historie změn | Zobrazeno: 2662×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.