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