Saya perlu menyatukan dua string dalam bash, sehingga:
string1=hello
string2=world
mystring=string1+string2
echo mystring
harus menghasilkan
halo Dunia
cukup menyatukan variabel:
mystring="$string1$string2"
Anda tidak perlu menggunakan {} kecuali Anda akan menggunakan parameter variabel bash atau segera menambahkan karakter yang akan valid sebagai bagian dari pengidentifikasi. Anda juga tidak perlu menggunakan tanda kutip ganda kecuali jika parameter Anda akan menyertakan karakter khusus.
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"
Jika Anda perlu menggabungkan variabel dengan string literal:
string1=hello
string2=world
mystring="some ${string1} arbitrary ${string2} text"
echo $mystring
akan menghasilkan:
beberapa halo dunia sembarang teks
Jika Anda ingin menggabungkan banyak variabel, Anda juga dapat menggunakan +=
Untuk menambahkan string .. Ini dapat meningkatkan keterbacaan ..
mystring=${string1}
mystring+=${string2}
mystring+=${string3}
mystring+=${string4}
echo ${mystring}
Seperti yang disebutkan oleh jawaban lain, {} tidak diperlukan di sini tetapi saya pribadi selalu menggunakannya untuk menghindari beberapa kesalahan sintaksis.
+=
Juga dapat digunakan untuk menambahkan nilai ke array: array+=($b)
.