Bagaimana cara menyatukan string dalam skrip bash?


21

Bagaimana saya bisa menggabungkan string dan variabel dalam skrip shell?

stringOne = "foo"

stringTwo = "anythingButBar"

stringThree = "? and?"

Saya ingin menampilkan "foo and anythingButBar"

Jawaban:


29

Tidak ada yang istimewa, Anda hanya perlu menambahkannya ke deklarasi Anda.

sebagai contoh:

[Zypher@host01 monitor]$ stringOne="foo"
[Zypher@host01 monitor]$ stringTwo="anythingButBar"
[Zypher@host01 monitor]$ stringThree=$stringOne$stringTwo
[Zypher@host01 monitor]$ echo $stringThree 
fooanythingButBar

jika Anda ingin kata literal 'dan' di antara mereka:

[Zypher@host01 monitor]$ stringOne="foo"
[Zypher@host01 monitor]$ stringTwo="anythingButBar"
[Zypher@host01 monitor]$ stringThree="$stringOne and $stringTwo"
[Zypher@host01 monitor]$ echo $stringThree 
foo and anythingButBar

4
Jika saya mungkin memberikan saran, permintaan Anda berisik dan mengaburkan jawaban Anda (dan spasi setelah tanda dolar akan membantu keterbacaan). Sesuatu seperti $ stringOne="foo", misalnya. Selain itu, prompt tidak akan muncul di jalur keluaran (baris setelah gema). Kalau tidak +1.
Dijeda sampai pemberitahuan lebih lanjut.

10
echo ${stringOne}and${stringTwo}jika Anda tidak ingin spasi
maks taldykin

Anda juga bisa melakukannya stringThree=$stringOne" and "$stringTwo.
Armfoot

5

Jika sebaliknya Anda memiliki:

stringOne="foo"
stringTwo="anythingButBar"
stringThree="%s and %s"

Anda bisa melakukan:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.