Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 6.147 ]
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
Buscar conteúdo digitado em sites de busca
Editar o gerenciador de boot Grub.
Script para formatação de disquetes em modo texto
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Conky, alerta de temperatura alta (10)
Assisti Avatar 3: Fogo e Cinzas (3)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)









