*
コマンドのワイルドカードがbashに置き換えられているようですが、現在のディレクトリのエントリと一致しない限り、コマンドはfind . -name *foo*
機能します。*foo*
これはとても混乱しています。
ベストアンサー1
Bashが一致するものが見つからない場合は、拡張されていないsを使用してリテラル文字列をアプリケーションに渡します*
。たとえば、
$ ls
foo
$ cat /tmp/test
echo $1
$ /tmp/test *foo*
foo
$ /tmp/test *bar*
*bar*
bash
*foo*
一致により拡張されますが、*bar*
不一致により通過します。このnullglob
オプションは、bash が一致しないパターンを空の文字列に解析するように指示します。
$ shopt -s nullglob
$ /tmp/test *bar*
$