find . \(-name "_*" -or -newer while2 \) -type f -print
上記のlinuxコマンドで、なぜ*を引用する必要がありますか?コマンド "find"に関する質問
find . \(-name "_*" -or -newer while2 \) -type f -print
上記のlinuxコマンドで、なぜ*を引用する必要がありますか?コマンド "find"に関する質問
まず、シェルは、引用符で囲まれていないすべての*をローカルディレクトリのファイル名と一致するように展開します。
その後、シェルはfind
コマンドをそのファイル名のリストで実行します。
一般的に、シェルはローカルディレクトリで '*'グロブを実行したくありません。一般に、他のディレクトリでファイル名の照合を行うにはfindコマンドを使用します。
シェルにはコマンドを実行する前にいくつかのことがあります。 $ VARIABLE置換はそれらの1つです。
引用しないと、シェル(bash?)が展開しようとします。あなたが欲しいもの
find . \(-name _somefile _someother _file3 .... -or -newer while2 \) -type f -print
確か
ない:カレントディレクトリの「_
」で始まるすべてのファイルが含まれていた場合、あなたのような何かを得ると思います。私はいつもパターンを引用します。シェルがそれらを混乱させないようにしてください。
類似の質問: –