首先它不像这个问题 如何在 bash 中“不受影响”地回显带有多个空格的字符串? [复制]因为在那个问题中他只想打印它,我想将它分配给变量并保存它。我试过这个:
SPACE=' '
VAR="$VAR1${SPACE}$VAR2"
答案1
您只是缺少结束双引号:
$ var1=Hello
$ SPACE=' '
$ VAR2=Wissam
$ VAR="$var1${SPACE}$VAR2"
$ echo "${VAR}"
Hello Wissam
请注意,变量名称也区分大小写。
答案2
另外,由于我不完全同意第一个答案,因此我会这样做
var1="Hello"
spaces=10 # a dynamic value
var2="Wissam"
printf "%s%$((${#var1} + spaces))s%s\n" "$var1" "$var2"
答案3
您也可以这样做:
$ v1="abc def"
$ v2=" "
$ v3="ghi jkl"
$ v4="$v1""$v2""$v3"
$ echo "$v4"
abc def ghi jkl