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
.
2 | No.2 Revision |
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.