ฉันจะเชื่อมสตริงเข้าด้วยกันในสคริปต์ทุบตีได้อย่างไร


21

ฉันจะเชื่อมสตริงและตัวแปรเข้าด้วยกันในเชลล์สคริปต์ได้อย่างไร?

stringOne = "foo"

stringTwo = "AnythingButBar"

stringThree = "? และ?"

ฉันต้องการที่จะแสดงผล "foo และอะไรก็ได้ ButBar"

คำตอบ:


29

ไม่มีอะไรพิเศษคุณเพียงแค่เพิ่มลงในการประกาศของคุณ

ตัวอย่างเช่น:

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

หากคุณต้องการคำที่แท้จริง 'และ' ระหว่างพวกเขา:

[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
ถ้าฉันอาจให้คำแนะนำการแจ้งเตือนของคุณจะมีเสียงดังและปิดบังคำตอบของคุณ (และการเว้นวรรคหลังเครื่องหมายดอลลาร์จะช่วยให้สามารถอ่านได้) สิ่งที่ต้องการ$ stringOne="foo"เช่น และไม่ควรปรากฏพรอมต์บนบรรทัดเอาต์พุต (บรรทัดหลัง echos) มิฉะนั้น +1
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

10
echo ${stringOne}and${stringTwo}ถ้าคุณไม่ต้องการที่ว่าง
สูงสุด taldykin

stringThree=$stringOne" and "$stringTwoนอกจากนี้คุณยังสามารถทำ
Armfoot

5

ถ้าคุณมี:

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

คุณสามารถทำได้:

$ printf "$stringThree\n" "$stringOne" "$stringTwo"
foo and anythingButBar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.