Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 5.997 ]
Homepage: http://sanmarcell.wordpress.com
Shell script que descompacta arquivos com os seguintes formatos:
.gz, .bz2, .tar.gz e .tar.bz2
Além de brincar com alguns códigos de cores.
#!/bin/bash ## Descom.sh - Descompactador de arquivos em shell script ## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima) ## E-mail: sandro_marcell@yahoo.com.br ## Slackware GNU/Linux 10.1 # As extensões suportadas são: # .gz, .bz2, .tar.gz (.tgz) e .tar.bz2 (.tbz). # Uso: nome_script /caminho/arquivo.extensão # Use Ctrl+c para sair. # Checa se o usuário passou algum parâmetro para o script: if [ $# -eq 0 ]; then echo -e '\e[1;31;43m'"\n\aUso:\e[1;37;42m `basename $0` \ /caminho/arquivo.extensão\n"; tput sgr0 exit elif [ $# -ge 2 ]; then echo -e '\e[1;31;43m'"\n\aEspecifique um arquivo por vez!\n" tput sgr0 exit fi # Caso tenha passado, o script contínua! # Checa se o parâmetro passado (o arquivo), existe: if [ ! -e $BASH_ARGV ]; then echo -e '\e[1;33;44m'"\n\aArquivo ou diretório não encontrado!\n" tput sgr0 exit fi # Se existir, checa se o usuário pode descompactá-lo: if [ ! -O $BASH_ARGV ]; then echo -e '\e[1;33;41m'"\nSem permissão para descompactar!\n" tput sgr0 exit fi # Se as duas condições acima forem satisfeitas, # a instrução "case" será executada: # Estas são funções que serão utilizadas na instrução "case": Aguarde () { echo -e '\e[1m'"\e[5;35m\nDescompactando... Aguarde!" tput sgr0 sleep 1 } Sucesso () { echo -e '\e[1;36m'"\e[4m\nDescompactação finalizada com sucesso!\n" tput sgr0 } Erro () { echo -e '\e[1m'"\e[1;33;41m\aErro!\n"; tput sgr0; } # Caso o processo seja interrompido, um backup do arquivo # será criado no diretório /home do usuário, por segurança: trap "dd if=$BASH_ARGV of=$BASH_ARGV.bak 2> /dev/null" 2 3 15 # Início da instrução "case", que determinará o comando a ser executado: case $BASH_ARGV in *.tar.gz | *.tgz) Aguarde if tar -z -x -f $BASH_ARGV 2> /dev/stdout; then Sucesso else Erro exit fi ;; *.gz) Aguarde if gunzip $BASH_ARGV 2> /dev/stdout; then Sucesso else Erro exit fi ;; *.tar.bz2 | *.tbz) Aguarde if tar -j -x -f $BASH_ARGV 2> /dev/stdout; then Sucesso else Erro exit fi ;; *.bz2) Aguarde if bunzip2 $BASH_ARGV 2> /dev/stdout; then Sucesso else Erro exit fi ;; *) echo -e '\e[1;31;43m'"\n\aArquivo com extensão não suportada!\n" tput sgr0 ;; esac
Busca e move arquivos renomeando-os conforme a máscara
Tabela do Campeonato Brasileiro Direto no Terminal
Verificar e efetua o download da nova versão do antivirus McAfee
Instalar impressora no CUPS a partir de um arquivo PPD
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (2)
O que você está ouvindo agora? [2] (190)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (5)
warsaw parou de funcionar após atualização do sistema (solução) (10)