Qual é a diferença entre $ {var}, “$ var” e “$ {var}” no shell Bash?
O que o título diz: o que significa encapsular uma variável em{}
, ""
ou"{}
"Eu não tenho conseguido encontrar nenhuma explicação online sobre isso - eu não fui capaz de me referir a eles, exceto pelo uso dos símbolos, que não rendem nada.
Aqui está um exemplo:
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")
Este:
for group in "${groups[@]}"; do
echo $group
done
Prova ser muito diferente do que isso:
for group in $groups; do
echo $group
done
e isto:
for group in ${groups}; do
echo $group
done
Apenas o primeiro realiza o que eu quero: iterar através de cada elemento no array. Eu não estou muito claro sobre as diferenças entre$groups
, "$groups"
, ${groups}
e"${groups}"
. Se alguém pudesse explicar, eu agradeceria.
Como pergunta extra, alguém conhece a maneira aceita de se referir a esses encapsulamentos?