Проблема с фронтэндом сжатых файлов

Я должен сделать frontend для сжатых файлов, идея состоит в том, что при получении gz или bz2 файла распакуйте его с gunzip и bunzip2.

Если то, что Вы получаете, является tar.gz или tar b2, необходимо распаковать и разархивировать его однажды с tar xzf или xjf. Мой код следующий

#!/bin/bash

if test $# -ne 1
then
    echo "Numero de parametros incorrecto"
    echo "Uso del programa: $0 archivo"
    exit 1;
fi

case "$1" in
    *.gz)
        echo "gzip"
        echo "Descomprimiendo"
        `gunzip $1`
    ;;
    *.bz2)
        echo "bzip2"
        echo "Descomprimiendo"
        `bunzip2 $1`
    ;;
    *.tar.gz)
        `tar xzvf $1`
    ;;
    *.bzip2.gz)
        `tar xjvf $1`
    ;;
esac

Проблема состоит в том, что, даже если я передаю файл с расширением .tar.gz, я ввожу первое условие случая, я попытался добавить доллар, чтобы быть строго, что это заканчивается как этот, но это не работает

1
задан 10 May 2019 в 13:14

1 ответ

Заявка на изменение блоков кода случая и добавляет повреждение после каждого.

Как это:

#!/bin/bash

if test $# -ne 1
then
    echo "Numero de parametros incorrecto"
    echo "Uso del programa: $0 archivo"
    exit 1;
fi

case "$1" in
    *.tar.gz)
        tar xzvf "$1"
        break
    ;;
    *.bzip2.gz)
        tar xjvf "$1"
        break
    ;;
    *.gz)
        echo "gzip"
        echo "Descomprimiendo"
        gunzip "$1"
        break
    ;;
    *.bz2)
        echo "bzip2"
        echo "Descomprimiendo"
        bunzip2 "$1"
        break
    ;;
    *)
        echo "Unknown extension"
        break
    ;;
esac
0
ответ дан 10 May 2019 в 13:14

Другие вопросы по тегам:

Похожие вопросы: