Tôi cố gắng để viết một kịch bản bash có chứa một hàm nên khi đưa ra một .tar
, .tar.bz2
, .tar.gz
, vv tập tin nó sử dụng tar với thiết bị chuyển mạch có liên quan để giải nén tập tin.
Tôi đang sử dụng if elif sau đó phát biểu kiểm tra tên tệp để xem nó kết thúc bằng gì và tôi không thể làm cho nó khớp với bằng cách sử dụng siêu ký tự regex.
Để lưu liên tục viết lại tập lệnh mà tôi đang sử dụng 'test' tại dòng lệnh, tôi nghĩ rằng câu lệnh bên dưới sẽ hoạt động, tôi đã thử mọi cách kết hợp dấu ngoặc, dấu ngoặc kép và trình chuyển đổi dữ liệu có thể và vẫn thất bại.
test sed-4.2.2.tar.bz2 = tar\.bz2$; echo $?
(this returns 1, false)
Tôi chắc rằng vấn đề là một vấn đề đơn giản và tôi đã tìm kiếm khắp nơi, nhưng tôi không thể hiểu làm thế nào để làm điều đó. Có ai biết làm thế nào tôi có thể làm điều này?