Debug, Script Bash Descomprimir

Post Reply
Message
Author
m0li
Posts: 8
Joined: Tue 18 Sep 2012, 02:26

Debug, Script Bash Descomprimir

#1 Post by m0li »

Code: Select all

#!/usr/local/bin/bash  
#Descomprime un fichero
#Versión 1.0.1
#Licencia BSD

function descomprimir {
    case "$1" in 
        *.tar)
            tar xvf "$1"
            ;;
        *tar.gz)
             tar xzvf "$1"
             ;;
         *.gz)
             gzip -d "$1"
             ;;
         *.bz2)
             bzip2 -d "$1"
             ;;
         *tar.bz2)
             tar jvxf "$1"
             ;;
         *.zip)
             unzip "$1"
             ;;
         *.lha)
             lha -x "$1"
             ;;
         *.zoo)
             zoo -x "$1"
             ;;
         *.rar)
             unrar -x "$1"
             ;;
         *)
             echo "$1 es inválido, por ejemplo, use archivo.tar.gz, siempre
             incluya la extensión "
             
             exit
             ;;
             
     esac
 }

Esta función colocala al final de tu archivo de configuración de bash, usualmente es el .bashrc

Para usarla pongamos un ejemplo, he descargado un archivo llamado archivo.tar.gz para descomprimirlo automáticamente usas esta sintax

Code: Select all

descomprimir archivo.tar.gz
Claro siempre y cuando respetes esta regla:

debes estar con el bash en el directorio donde esté el archivo a descomprimir.

Como agregado cabe destacar, que no es exactamente necesario colocarlo en el .bashrc, puedes asignar un alias en tu .bashrc para que lea el script de descomprimir, esté último ubicado en una carpeta del $PATH o colocando la ruta completa donde se encuentra el mismo, además, darles permisos 755.

Aspectos a considerar del post anterior:

Las llamadas a través de ${1#*.} con la comparación por ejemplo archivo.tar.gz
si el archivo tiene la configuración archivo.tar.gz, no existe problema, pero si el archivo tiene la configuración
mi.archivo.tar.gz, existe un fallo por el tipo de patrón de busqueda, con la estructura case queda resuelto.

Saludos m0li

User avatar
josejp2424
Posts: 556
Joined: Sun 01 Aug 2010, 22:35
Contact:

#2 Post by josejp2424 »

copiando, la m0li esta con todo.

Post Reply