Próbuję napisać skrypt bash, który zawiera funkcję, więc kiedy dali .tar
, .tar.bz2
,.tar.gz
itp wykorzystuje plik tar z odpowiednimi przełącznikami do dekompresji pliku.
Używam instrukcji if elif then, które testują nazwę pliku, aby zobaczyć, na czym się kończy, i nie mogę dopasować jej przy użyciu metaznaków wyrażenia regularnego.
Aby zaoszczędzić na ciągłym przepisywaniu skryptu, którego używam „test” w wierszu poleceń, pomyślałem, że poniższe stwierdzenie powinno działać, wypróbowałem każdą możliwą kombinację nawiasów, cudzysłowów i metacharatów i nadal się nie udaje.
test sed-4.2.2.tar.bz2 = tar\.bz2$; echo $?
(this returns 1, false)
Jestem pewien, że problem jest prosty i szukałem wszędzie, ale nie mogę pojąć, jak to zrobić. Czy ktoś wie, jak mogę to zrobić?