Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-12-16 05:56:18 +0100

Pokud máte zahodit všechny chyby, musíte je zahodit všude, kde mohou vzniknout. V tomto případě mohou chyby vzniknout ve find i v cp.

Pokud máte zahodit všechny chyby, musíte je zahodit všude, kde mohou vzniknout. V tomto případě mohou chyby vzniknout ve find i v cp.


A možná radši odpovím i na něco, na co jste se neptal, ale je to důležité: Pokud napíšete find dir -name *.ext, tak je to naprosto špatně: Ta hvězdička se vyhodnotí v rámci zpracování příkazové řádky shellem, takže find ve skutečnosti nedostane parametry $1="dir", $2="-name", $3="*.ext", ale například (v závislosti na tom, co máte za soubory v aktuálním adresáři) $1="dir", $2="-name", $3="a.ext", $4="b.ext" a samozřejmě na tom spadne, protože za -name očekává jediný argument a potom zase nějaký predikát. Ono vám to při testech zafunguje, protože vás nenapadlo si v aktuálním adresáři vytvořit soubory s příponou .ext, takže shell zjistí, že požadavku *.ext nic nevyhovuje a tudíž volanému programu předá přímo *.ext, ale na ProgTestu na tom vyhoříte.