Vous n'avez pas besoin d'utiliser {} sauf si vous allez utiliser les paramètres de variable bash ou ajouter immédiatement un caractère qui ferait partie de l'identifiant. De plus, vous n'avez pas besoin d'utiliser les guillemets, à moins que vos paramètres incluent des caractères spéciaux.
x=foo
y=bar
z=$x$y # $z is now "foobar"
z="$x$y"# $z is still "foobar"
z="$xand$y"# does not work
z="${x}and$y"# does work, "fooandbar"
z="$x and $y"# does work, "foo and bar"
Vous pouvez utiliser le ${var}format à tout moment, mais vous en avez besoin uniquement quand il $vardoit être immédiatement suivi d'un autre caractère de nom de variable valide ... par exemple: $vararbitaryinterprétera une variable nommée "vararbitary" ${var}arbitary... oups, je viens de voir l'abswer de khamer ... mais je peux tout aussi bien laisser le commentaire ici.
Peter.O
11
Si vous souhaitez concaténer un grand nombre de variables, vous pouvez également utiliser +=pour ajouter des chaînes. Cela peut augmenter la lisibilité.
Comme mentionné dans d'autres réponses, les {} ne sont pas nécessaires ici, mais personnellement, je les utilise toujours pour éviter certaines erreurs de syntaxe.
+=peut également être utilisé pour ajouter des valeurs aux tableaux: array+=($b).
join
pourrait également faire la chose pour vous.Réponses:
simplement concaténer les variables:
la source
Vous n'avez pas besoin d'utiliser {} sauf si vous allez utiliser les paramètres de variable bash ou ajouter immédiatement un caractère qui ferait partie de l'identifiant. De plus, vous n'avez pas besoin d'utiliser les guillemets, à moins que vos paramètres incluent des caractères spéciaux.
la source
Au cas où vous auriez besoin de concaténer des variables avec des chaînes littérales:
echo $mystring
produira:la source
${var}
format à tout moment, mais vous en avez besoin uniquement quand il$var
doit être immédiatement suivi d'un autre caractère de nom de variable valide ... par exemple:$vararbitary
interprétera une variable nommée "vararbitary"${var}arbitary
... oups, je viens de voir l'abswer de khamer ... mais je peux tout aussi bien laisser le commentaire ici.Si vous souhaitez concaténer un grand nombre de variables, vous pouvez également utiliser
+=
pour ajouter des chaînes. Cela peut augmenter la lisibilité.Comme mentionné dans d'autres réponses, les {} ne sont pas nécessaires ici, mais personnellement, je les utilise toujours pour éviter certaines erreurs de syntaxe.
+=
peut également être utilisé pour ajouter des valeurs aux tableaux:array+=($b)
.la source