いつ、なぜアスタリスクを引用するべきですか?

いつ、なぜアスタリスクを引用するべきですか?

私はLinux / Bashで二重引用符が必要な時期と理由に関する規則を完全に理解したことがないと思います(この質問のドメインがLinux、Bash、または他のものかどうかはわかりません)。*私は文字数に関係なく(なしを含む)一致すると思います。ウィキペディア記事。ただし、次のようにワイルドカードを使用しようとすると、*理解できない結果が表示されます。

>pwd
/home/user/foo/foo/test
>tree 
.
├─ main.opp
└─ test
   └─ test.opp

>find ../ -name *.opp
../test/test.opp

>find ../ -name "*.opp"
../main.opp
../test/test.opp

>cd ..
>pwd
/home/user/foo/foo

>find . -name *.opp
./main.opp

>find . -name "*.opp"
./main.opp
./test/test.opp

find二重引用符ではなくパラメータを*.opp使用すると1つのヒットのみが返されますが、同じパラメータを二重引用符として使用すると予想される2つのヒットが返されるのはなぜですか?

ベストアンサー1

拡張が評価される時期によって異なります。アスタリスクを引用しない場合、bash は最初にアスタリスクを評価します。を呼び出すのと同じですfind . -name main.opp。アスタリスクを引用すると、どれが期待された方法で使用されているかを見つけるためにそのまま渡されます。

おすすめ記事