echo 语句中双引号的作用是什么?

Cha*_*had 6 bash echo quoting

当编写包含用户消息的 Bash 脚本时,我可以写

echo Processing files...
Run Code Online (Sandbox Code Playgroud)

或者

echo "Processing files..."
Run Code Online (Sandbox Code Playgroud)

在这种情况和许多其他情况下,输出将是相同的。那么什么时候我真正需要双引号,什么时候不需要它们呢?

我明白那个

echo This    is     my      sentence.
Run Code Online (Sandbox Code Playgroud)

echo "This    is     my      sentence."
Run Code Online (Sandbox Code Playgroud)

将产生不同的输出(第一种情况下单词之间有一个空格,第二种情况下保留空格),但是还有其他原因使用双引号吗?或者使用双引号?

(我意识到单引号有不同的效果;这个问题专门关于引号。)

Joh*_*ohn 0

这里双引号和单引号之间有一个重要的区别。双引号将在带引号的字符串内插入变量(因为根本不会引用);单引号不会这样做。