Sie müssen nicht {} verwenden, es sei denn, Sie verwenden Bash-Variablenparameter oder hängen sofort ein Zeichen an, das als Teil des Bezeichners gültig wäre. Sie müssen auch keine doppelten Anführungszeichen verwenden, es sei denn, Ihre Parameter enthalten Sonderzeichen.
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"
Sie können das ${var}Format jederzeit verwenden, aber Sie benötigen es nur , wenn $varunmittelbar darauf ein anderes gültiges Variablennamenzeichen folgen soll ... Beispiel: $vararbitaryInterpretiert eine Variable mit dem Namen "vararbitary", aber Sie können es umgehen, indem Sie verwenden ${var}arbitary.... hoppla, ich habe gerade khamer's abswer gesehen .. aber ich kann den Kommentar auch hier hinterlassen.
Peter.O
11
Wenn Sie viele Variablen verketten möchten, können Sie auch +=Zeichenfolgen anhängen. Dies kann die Lesbarkeit verbessern.
join
könnte auch die Sache für Sie erledigen.Antworten:
verketten Sie einfach die Variablen:
quelle
Sie müssen nicht {} verwenden, es sei denn, Sie verwenden Bash-Variablenparameter oder hängen sofort ein Zeichen an, das als Teil des Bezeichners gültig wäre. Sie müssen auch keine doppelten Anführungszeichen verwenden, es sei denn, Ihre Parameter enthalten Sonderzeichen.
quelle
Wenn Sie Variablen mit Literalzeichenfolgen verketten müssen:
echo $mystring
wird herstellen:quelle
${var}
Format jederzeit verwenden, aber Sie benötigen es nur , wenn$var
unmittelbar darauf ein anderes gültiges Variablennamenzeichen folgen soll ... Beispiel:$vararbitary
Interpretiert eine Variable mit dem Namen "vararbitary", aber Sie können es umgehen, indem Sie verwenden${var}arbitary
.... hoppla, ich habe gerade khamer's abswer gesehen .. aber ich kann den Kommentar auch hier hinterlassen.Wenn Sie viele Variablen verketten möchten, können Sie auch
+=
Zeichenfolgen anhängen. Dies kann die Lesbarkeit verbessern.Wie in anderen Antworten erwähnt, werden die {} hier nicht benötigt, aber ich persönlich benutze sie immer, um einige Syntaxfehler zu vermeiden.
+=
können auch anhängen Werte Arrays verwendet werden:array+=($b)
.quelle