Я намагаюся написати Баш скрипт , який містить функцію так , коли дан .tar
, .tar.bz2
, і .tar.gz
т.д. файл , він використовує дьоготь з відповідними перемикачами , щоб розпакувати файл.
Я використовую, якщо elif, то висловлювання, які перевіряють ім'я файлу, щоб побачити, чим він закінчується, і я не можу змусити його збігатися з використанням метахарактерів regex.
Щоб зберегти постійно переписувати скрипт, який я використовую 'test' у командному рядку, я вважав, що твердження нижче повинно працювати, я перепробував усі можливі комбінації дужок, лапок і метахараторів, і все одно він не вдається.
test sed-4.2.2.tar.bz2 = tar\.bz2$; echo $?
(this returns 1, false)
Я впевнений, що проблема проста, і я шукав всюди, але не можу зрозуміти, як це зробити. Хтось знає, як я можу це зробити?