Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 5.779 ]
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
Backup para J-Pilot evitando arquivos problemáticos
CSSH - Programa para agilizar o acesso aos servidores que você gerencia
Backup das Bases de dados do [Mantis, MySQL, Phpmyadmin, Testlink] e dos Projetos do SVN
Juntar arquivos divididos por HJsplit
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (2)
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Ativando o Modo Noturno via Linha de Comando no GNOME/Wayland
Habilitando a importação de senhas no Firefox
Como corrigir o erro do VirtualBox travar a máquina virtual em tela cheia
Instalando Google Chrome no Ubuntu 24.04 LTS
Quantidade de caracteres suportados na barra de endereços dos navegadores
Não Consigo acessar o menu da Bios após instalação do sistema (0)
Instalação do ubuntu num ssd externo (0)
instalar linux com intel RST ativo (4)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (33)