Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 6.075 ]
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
Pesquisa por arquivos redundantes (idênticos)
Script para monitorar os 10 processos que mais consomem CPU e Memória
Script em Xdialog para montar/desmontar dispositivos
Nenhum comentário foi encontrado.
Desktop Linux ganha fôlego enquanto distros refinam experiência e segurança
Wayland em alta, IA em debate e novos ventos para distros e devices
Qt 6.10 e Python 3.14 puxam o ritmo do software livre nesta quarta
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Como mudar o nome de dispositivos Bluetooth via linha de comando
Adicionando o repositório backports no Debian 13 Trixie
Erro ao enviar notificação por e-mail (3)
Não tenho som no meu Kali linux [RESOLVIDO] (3)