ソースツリーを想像してみてください。どこにでもxmlファイルがあります。
ただし、このツリーのルートにXYZ.xmlがあるため、xmlファイルが見つかりません。
find -iname *.xml
返品
./XYZ.xml
代わりに
./XYZ.xml
./a/b/c/bob.xml
./b/d/top.xml
承認された回答:
find -iname '*.xml'
それ以外の場合、シェルは*.xml
を展開します XYZ.xml
へ 、実際に実行されるコマンドは
find -iname XYZ.xml
現在のディレクトリにXMLファイルがない場合に機能する理由は、シェルは通常、ワイルドカードが何にも一致しない場合、ワイルドカードを展開しないままにするためです。一般に、ワイルドカードをシェル以外のプログラム(find
など)で展開する場合はいつでも 、tar
、scp
など)シェルがそれ自体を拡張しようとしないように、引用符で囲む必要があります。