Pular para o conteúdo

Descom.sh - Descompactador de arquivos

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.
Sandro Marcell SMarcell
Hits: 6.265 Categoria: Shell Script Subcategoria: Miscelânea
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

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.
Download descom.sh Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

#!/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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

tilremove

Rerun

Configuramdo proxy/Squid com Dialog

Download automatizado de instaladores para fileserver e afins

Script para desligar o computador de acordo como login

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.