Bash:
การต่อสตริง
วิธีการ:
นี่คือทางลัดในการกอดสตริงของคุณจนแนบแน่นใน Bash:
# การต่อสตริงโดยการวางสตริงข้างๆ กัน
greeting="Hello, "
name="world!"
welcome=$greeting$name
echo $welcome # แสดงผล: Hello, world!
# การใช้วงเล็บปีกกาเพื่อความชัดเจน
version="version"
number=1
full_version=${version}_${number}
echo $full_version # แสดงผล: version_1
# การต่อสตริงด้วยตัวแปรและตัวอักขระตายตัว
timestamp=$(date +%Y%m%d) # ได้วันที่ปัจจุบันในรูปแบบ YYYYMMDD
filename="backup_${timestamp}.tar.gz"
echo $filename # แสดงผล: backup_20230315.tar.gz
ลึกรายละเอียด
ในยุคก่อนที่ GUI ครองโลก, เส้นทางคำสั่งและสคริปต์คือกษัตริย์แห่งการโต้ตอบกับคอมพิวเตอร์ การต่อสตริงเป็นสิ่งที่สำคัญเสมอเนื่องจากมันช่วยให้สามารถจัดการคำสั่งและไฟล์ได้อย่างไดนามิก
ทางเลือกทางประวัติศาสตร์คือคำสั่ง expr
, ซึ่งตอนนี้รู้สึกเหมือนเป็นโบราณ:
older_way=$(expr $greeting $name)
แต่ Bash ก็บอกว่า, “ใครต้องการความยุ่งยากนั้น?” และทำให้มันเป็นธรรมชาติ อย่างไร? ดี, Bash รักษาสตริงเหมือนเพื่อนตัวแสบที่พวกเขาคือ: วางข้างๆ กันและพวกมันจะกอดกันเข้าด้วยกันเป็นสตริงยาว
ภายใต้ฝา, Bash จัดการสิ่งนี้โดยไม่ต้องใช้ฟังก์ชันพิเศษหรือไวยากรณ์สำหรับการต่อสตริง คำหรือตัวแปรเพียงแค่ไหลรวมกัน อย่างไรก็ตาม, หากตัวแปรของคุณอาจเริ่มต้นด้วยตัวเลขหรือเครื่องหมายขีดล่าง, คุณมักจะห่อมันด้วยวงเล็บปีกกาเพื่อป้องกันความสับสนกับชื่อตัวแปรอื่นๆ
อย่างไรก็ตามมีข้อจำกัด: ช่องว่างมีความสำคัญ หากคุณไม่ระมัดระวัง, คุณอาจจบลงด้วยช่องว่างที่ไม่ตั้งใจหรือผลลัพธ์ที่ติดกันรกๆ
ทางเลือกปัจจุบันคือการใช้ฟังก์ชัน printf
, ซึ่งให้ความควบคุมเกี่ยวกับการจัดรูปแบบมากขึ้น:
printf -v full_greeting "%s%s" "$greeting" "$name"
echo $full_greeting # แสดงผล: Hello, world!
ดูเพิ่มเติม
- คู่มือ GNU Bash สำหรับความรู้พื้นฐานของทุกสิ่งใน Bash
- คู่มือการเขียนสคริปต์ Bash ขั้นสูง สำหรับการฝึกการเขียนสคริปต์และตัวอย่างเพิ่มเติม