grepや他のツールでいつ引用符を使用するべきか疑問に思います。たとえば、次の2つのコマンドは同じ結果を提供します。
[Jhm@localhost /]$ grep Hello ./testfile
Hello world
[Jhm@localhost /]$ grep "Hello" ./testfile
Hello world
単語が引用符で囲まれているかどうかは重要ですか?
答え1
単語にシェルに特別な意味を持つ文字が含まれている場合にのみ適用されます。
grep "Hello?" ./testfile
Hello?
ファイルからリテラル文字列が検索されます。しかし、例えば、
grep Hello? ./testfile
現在のディレクトリにファイルがある場合、HelloA
単一の文字がグローバルパターンで一致するため、文字列が検索されます。HelloA
?
私はこれに驚かないと思います。
grep Hello World ./testfile
そして
grep "Hello World" ./testfile
は違います。