ฉันจะจับคู่สตริงกับ regex ใน Bash ได้อย่างไร
ฉันพยายามที่จะเขียนสคริปต์ทุบตีที่มีฟังก์ชั่นดังนั้นเมื่อได้รับ.tar, .tar.bz2, .tar.gzไฟล์อื่น ๆ จะใช้ tar กับสวิทช์ที่เกี่ยวข้องเพื่อขยายไฟล์ ฉันใช้ถ้า elif แล้วข้อความที่ทดสอบชื่อไฟล์เพื่อดูว่ามันลงท้ายด้วยและฉันไม่สามารถให้ตรงกับ metacharacters regex หากต้องการบันทึกการเขียนสคริปต์ใหม่อย่างต่อเนื่องที่ฉันใช้ 'ทดสอบ' ที่บรรทัดคำสั่งฉันคิดว่าคำสั่งด้านล่างควรใช้งานได้ฉันได้ลองใช้ชุดวงเล็บเครื่องหมายคำพูดและ metacharaters ทุกอย่างที่เป็นไปได้ แต่ก็ยังล้มเหลว test sed-4.2.2.tar.bz2 = tar\.bz2$; echo $? (this returns 1, false) ฉันแน่ใจว่าปัญหาเป็นเรื่องง่ายและฉันได้ดูทุกที่ แต่ฉันไม่สามารถเข้าใจได้ว่าจะทำอย่างไร มีใครรู้บ้างว่าฉันจะทำสิ่งนี้ได้อย่างไร