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)
。