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

関連情報