Вам не нужно использовать {}, если вы не собираетесь использовать параметры переменной bash или немедленно добавить символ, который будет действительным как часть идентификатора. Вам также не нужно использовать двойные кавычки, если ваши параметры не будут включать специальные символы.
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"
Вы можете использовать ${var}формат в любое время, но вам он нужен только тогда, когда $varза ним сразу следует другой допустимый символ имени переменной ... например: $vararbitaryбудет интерпретировать переменную с именем "vararbitary", но вы можете обойти ее, используя ${var}arbitary.... упс, я только что видел абзер Хамера ... но я могу также оставить комментарий здесь.
Peter.O
11
Если вы хотите объединить много переменных, вы также можете использовать +=для добавления строк .. Это может повысить читабельность.
join
также может сделать это за вас.Ответы:
просто объедините переменные:
источник
Вам не нужно использовать {}, если вы не собираетесь использовать параметры переменной bash или немедленно добавить символ, который будет действительным как часть идентификатора. Вам также не нужно использовать двойные кавычки, если ваши параметры не будут включать специальные символы.
источник
Если вам нужно объединить переменные с литеральными строками:
echo $mystring
будет производить:источник
${var}
формат в любое время, но вам он нужен только тогда, когда$var
за ним сразу следует другой допустимый символ имени переменной ... например:$vararbitary
будет интерпретировать переменную с именем "vararbitary", но вы можете обойти ее, используя${var}arbitary
.... упс, я только что видел абзер Хамера ... но я могу также оставить комментарий здесь.Если вы хотите объединить много переменных, вы также можете использовать
+=
для добавления строк .. Это может повысить читабельность.Как уже упоминалось в других ответах, {} здесь не нужны, но я лично всегда использую их, чтобы избежать некоторых синтаксических ошибок.
+=
также может быть использован для добавления значения в массивы:array+=($b)
.источник