Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 6.084 ]
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
ytmp - Youtube no console com youtube-dl + mplayer.
Download automatizado de instaladores para fileserver e afins
Script "go" v.2 - Inicia Sessoes SSH e Terminal Service
Script de backup de múltiplos diretórios + LOG
Script de instalação para Firefox e Thunderbird
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









