Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 5.884 ]
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
Pequeno gerador de relatório da rede (CSV)
Verificar e efetua o download da nova versão do antivirus McAfee
Alterar temas GTK individualmente
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Como mudsr a resolução da tela de login no KDE? (3)
De volta para o futuro - ou melhor, para o presente (10)
Seria referente ao Kali Linux (5)