Во-первых, это не похоже на этот вопрос Как отобразить строку с несколькими пробелами в bash «нетронутой»? [дубликат] , потому что в этом вопросе он просто хочет его распечатать, а я хочу присвоить его переменной и сохранить. Я пробовал это:
SPACE=' '
VAR="$VAR1${SPACE}$VAR2"
Вам просто не хватает закрывающей двойной кавычки:
$ var1=Hello
$ SPACE=' '
$ VAR2=Wissam
$ VAR="$var1${SPACE}$VAR2"
$ echo "${VAR}"
Hello Wissam
Обратите внимание, что имена переменных также чувствительны к регистру.
Вы также можете сделать это следующим образом:
$ v1="abc def"
$ v2=" "
$ v3="ghi jkl"
$ v4="$v1""$v2""$v3"
$ echo "$v4"
abc def ghi jkl
Также, поскольку я не полностью согласен с первым ответь, вот как бы я это сделал
var1="Hello"
spaces=10 # a dynamic value
var2="Wissam"
printf "%s%$((${#var1} + spaces))s%s\n" "$var1" "$var2"