Představte si zdrojový strom. Všude jsou soubory xml.
Ale protože je v kořenu tohoto stromu XYZ.xml, nenajde moje xml soubory.
find -iname *.xml
vrací
./XYZ.xml
místo
./XYZ.xml
./a/b/c/bob.xml
./b/d/top.xml
Přijatá odpověď:
find -iname '*.xml'
Jinak se váš shell rozšíří *.xml
do XYZ.xml
a příkaz, který se skutečně provede, je
find -iname XYZ.xml
Důvod, proč to funguje, pokud v aktuálním adresáři nejsou žádné soubory XML, je ten, že shelly obecně nechávají zástupné znaky nerozbalené, pokud se s ničím neshodují. Obecně platí, že kdykoli chcete, aby byly zástupné znaky rozšířeny jiným programem než shellem (např. find
, tar
, scp
, atd.), musíte je citovat, aby se je shell sám nepokoušel rozšířit.
Windows – Jak by mohl systém Windows nepoškodit souborový systém Linux, když zaměňuje schémata rozdělení?
Odstranit duplicitní hodnoty v poli?