นี่คือบทความสั้นๆ เกี่ยวกับการ concatenate (รวม) strings ใน Bash – วิธีที่ถูกต้อง พร้อมตัวอย่าง
มีหลายวิธีที่สตริงสองตัวขึ้นไปจะถูกรวมกันใน shell script โปรแกรมต่างๆ จะรับ strings และคืนค่าที่ merged/concatenated – แต่การใช้ side-effect ของการทำงานของโปรแกรมเพื่อ concatenate strings ค่อนข้าง waste of time ดังนั้นบทความนี้จะเน้นที่วิธีที่ง่ายที่สุดและอ่านง่ายที่สุด
การแทรก String เข้าไปในอีก String
String สามารถแทรกเมื่อสร้าง string อื่นได้ดังนี้:
#!/bin/bash string1="Hello" string2="${string1} there!" echo "${string2}"
What is the ‘#!’ in Linux Shell Scripts?
สามารถใส่ strings ได้เท่าไหร่ก็ตาม – ไม่จำกัดแค่สองตัว!
ในคำสั่ง echo ข้างต้น string2 ไม่ได้ echoed โดยตรง แต่ก็ถูก wrap ใน double-quotes – นี่คือเหตุผล
ชื่อตัวแปรถูก wrap ใน curly braces ({}) – เพื่อแยกชื่อตัวแปรจากตัวอักษรรอบๆ ไม่ให้สับสน
การ Merge/Concatenate Strings ใน Bash Scripts
สตริงที่มีอยู่สองตัวสามารถ merge ได้เมื่อสร้าง string ใหม่:
#!/bin/bash string1='Hello' string2='there!' string3="${string1} ${string2}" echo "${string3}"
Appending (ต่อท้าย)
ตัวดำเนินการ += สามารถใช้ append string หนึ่งไปอีก string หนึ่ง:
string1="Hello, " string1+=" there!" echo "${string1}"
นี่คือ shortcut ที่สะดวก ไม่ต้องสร้างตัวแปรเพิ่ม