Descom.sh - Descompactador de arquivos
Publicado por Sandro Marcell 02/04/2007
[ Hits: 6.169 ]
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
Script instalador do obmenu-generator e configuração do openbox
Balanceamento e Redundância utilizando 2 Links Speedy (ip fixo)
Script para montar compartilhamento de uma estação Windows
Script simples de procura de arquivo.
xpock-dl: baixe vídeos do xpock.com.br
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)
O que houve com slackware ??? (12)









