"$var" 和 "${var}" 之间有什么区别

Rah*_*til 1 bash shell-script

我在许多脚本中看到了"$var"and 的用法"${var}",所以我只想知道"$var"and之间的区别"${var}"

Chr*_*own 5

大括号明确表示参数语法的开始和结束,否则没有区别。这使得某些陈述明确无误,例如:

$ foo=bar
$ echo "$fooa" # Is this $foo + a, or $fooa?

$ echo "${foo}a"
bara
Run Code Online (Sandbox Code Playgroud)

  • 第一条语句中没有歧义 - 它显然是 `fooa` 变量的值。Bash 不兼容 DWIM :) (3认同)
  • @RahulPatil 那么没有区别。`"` 是变量名中的非法字符,因此它在那里终止。 (2认同)
  • @l0b0 - 也许我应该说“对人类模棱两可”,显然定义了实际的语法;-) (2认同)