什么是 shell 双引号和单引号的好助记符?

Dav*_*tts 43 shell scripting quoting

我没有做足够的脚本来记住,不查找,双引号或单引号是否会导致 Unix 变量被替换。

我绝对明白发生了什么。我的问题是有没有人有记忆技巧可以让正确的引用规则留在我的脑海中?

Gil*_*il' 75

引号是简单的报价,与单一的标准:每一个字符是文字。
引号有双重标准:有些字符是字面意思,有些字符仍然会被解释,除非它们前面有反斜杠。

引号单独工作:单引号内的反斜杠并不特殊。
引号与反斜杠配对:双引号内的反斜杠使下一个字符不特殊。

  • 这是很有诗意的。有一个好的编辑(在文学意义上),我们可以用它制作一本儿童读物。[“如果你教一条蛇写脚本”](https://en.wikipedia.org/wiki/If_You_Give_a_Mouse_a_Cookie#If_You_Give..._series) (7认同)
  • 我一直在尝试将 _Single 引号变成简单引号,将单个标准_变成 [Dr. 苏斯风格的诗](https://en.wikipedia.org/wiki/Dr._Seuss#Poetic_meters) 二十分钟,惨败。 (7认同)
  • 单引号是单次使用,从字面上重复/双引号更冗长,一个paramat'rising feat (6认同)

Dop*_*oti 7

双引号 ( ") 是引号 - 您需要其中两个,因此它们成对出现,并且变量会直接穿过它们,而不管它们的数量。

单引号 ( ') 是引号 - 它们单独出现,变量与它们不匹配。


小智 5

“双重、双重的辛劳和麻烦;
美元在燃烧,反向报价泡沫。”

相比之下,单身是无害的。