Цитаты в командах – пример grep

Я хотел знать, когда использовать кавычки с помощью grep или других инструментов. Например, следующие две команды дают одинаковые результаты.

[Jhm@localhost /]$ grep Hello ./testfile Hello world [Jhm@localhost /]$ grep "Hello" ./testfile Hello world 

Оказывается ли это, если слово в кавычках?

Только если слово содержит символы, имеющие особое значение для оболочки.

 grep "Hello?" ./testfile 

будет искать буквальную строку Hello? в файле. Однако, например,

 grep Hello? ./testfile 

будет искать строку HelloA если в вашем текущем каталоге есть файл HelloA , потому что ? будет соответствовать любому одиночному символу в виде шаблона шара.

Я предполагаю, что вы не удивлены тем, что

 grep Hello World ./testfile 

а также

 grep "Hello World" ./testfile 

разные.