2017-05-24 9 views
0

私は現在Bashを学んでいて、次の問題を抱えています。コマンドfind -name '*s'Bashコマンドの混乱--- find -name '* s'

、私は文字通り*sのように、コマンドは名前*sを持つすべてのファイルを見つけることを期待していたが、その代わりに、bashはsで終わったすべてのファイルを見つけました。

私は一重引用符内のすべてが通常の文字列のように扱われると考えました。私の理解に欠けているものは何ですか?

私は疑問に自然なフォローは以下のようになり推測:

私はfind -name *sが展開されることを期待するが、代わりにbashが私に次のメッセージ

enter image description here

答えて

1

を与えるfind-nameオプションは、文字列を期待あなたは一重引用符で渡す必要があります。特殊文字をエスケープするために、所望の結果を生成する。この場合find . -name '\*s'\

を使用