如何将带有多个空格的字符串分配给bash中的变量?

如何将带有多个空格的字符串分配给bash中的变量?

首先它不像这个问题 如何在 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

相关内容