Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 5.947 ]
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
Uso de variáveis com a linguagem Ruby
Uebevert - All in One [version 3]
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
Erro ao executar o comando para dar um get email (0)
Instalei Windows 11 e não alterou o Grub do Debian (2)
Albfneto. Voltando devagar. (0)
Os empreguim de meu Deus estão cada vez mais tecnológicos (8)