文字列変数を3番目の変数にリンクするには?

文字列変数を3番目の変数にリンクするには?

bashで2つの文字列を連結する必要があります。

string1=hello
string2=world

mystring=string1+string2

echo mystring生産しなければならない

こんにちは世界

答え1

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"

答え2

変数をリンクするだけです。

mystring="$string1$string2"

答え3

変数をリテラル文字列に関連付ける必要がある場合:

string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"

echo $mystring生産します:

こんにちはどの世界のテキストもあります。

答え4

多くの変数をリンクしたい場合は、追加の+=文字列を使用することもできます。これにより、読みやすさが向上します。

mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}

他の回答で述べたように、{}はここでは必要ありませんが、個人的に構文エラーを避けるために常に使用します。

+=配列に値を追加するためにも使用できますarray+=($b)

関連情報