标题说的是什么:将变量封装在{},,,,"", 或者"{}"?我还没有在网上找到任何解释 - 除了使用这些符号外,我还没有参考它们。
这是一个例子:
declare -a groups groups+=("CN=exampleexample,OU=exampleexample,OU=exampleexample,DC=example,DC=com") groups+=("CN=example example,OU=example example,OU=example example,DC=example,DC=com") 这:
for group in "${groups[@]}"; do echo $group done 事实证明与以下方式有所不同:
for group in $groups; do echo $group done 和这个:
for group in ${groups}; do echo $group done 只有第一个完成我想要的东西:通过数组中的每个元素迭代。我对之间的区别并不清楚$groups,,,,"$groups",${groups}和"${groups}"。如果有人能解释一下,我将不胜感激。
作为一个额外的问题 - 有人知道参考这些封装的公认方法吗?
答案 牙套($varVS.${var}) 在多数情况下,$var和${var}是相同的:
var=foo echo $var # foo echo ${var} # foo 只需要解决表达式中的歧义:
var=foo echo $varbar # Prints nothing because there is no variable 'varbar' echo ${var}bar # foobar 引号 ($varVS....