LIXEIRA COMPLETA_II

Publicado por Rodney Elias 18/01/2004

[ Hits: 6.249 ]

Download rescue.sh




Script que faz a restauracao dos arquivos que foram utilizados pelo script 'lix.sh' em LIXEIRA COMPLETA. Deve ser utilizado juntamente com 'lix.sh'.

  



Esconder código-fonte

#!/bin/bash
LIX=/LIXEIRA
ARQ=$LIX/.list
TMP=/tmp/.swp
if [ "$#" -gt "1" -o $1 != "--all" ]; then
   echo -e "\n\tUsage: $0 or $0 --all\n";
   exit 1;
fi
if [ ! -d $LIX ]; then
   clear;
   echo -e "\n\t\t$LIX nao existe...\n";
   exit 1;
elif [ $(ls -1 $LIX | wc -l) = "0" ]; then
   clear;
   echo -e "\n\t\t$LIX esta vazia...\n";
   exit 1;
elif [ "$1" = "--all" ]; then
   echo -e "\n\t\tRESTAURANDO...\n";
   for i in $(ls -1 $LIX); do
      mv -v $LIX/$i $(grep -w $i $ARQ);
      sleep 1;
   done
   echo -e "\n";
   rm -f $ARQ;
else
   clear;
   echo -e "\t\t'$LIX' contem o(s) arquivo(s)...\n";
   for i in $(ls -1 $LIX); do
      echo -e "\t\t\t\t ->" $i;
   done
   echo -e "\n\t\t\t-- O que vc gostaria de fazer? --\n";
   echo -e "\t1) 'Esvaziar a lixeira' ou 2) 'restaurar arquivo'? : \c";
   read opt;
   case $opt in
      1)
      rm -fr $LIX/* $LIX/.* &> /dev/null;
      echo -e "\a\a";
      clear;
      ;;
      2)
      echo -e "\n\t\tQual arquivo deseja restaurar? : \c"; read arq;
      while ! [ -e $LIX/$arq ]; do
         clear;
         echo -e "\n\t\tError: - '$arq' nao existe em '$LIX' -\n";
         echo -e "\t\tDigite uma resposta valida...\n";
         for i in $(ls -1 $LIX); do
            echo -e "\t\t\t\t ->" $i;
         done
         echo -e "\n\t\tQual dos arquivos acima vc quer restaurar? : \c"; read arq;
      done
      mv -v $LIX/$arq $(grep -w $arq $ARQ) > $TMP;
      echo -e "\n\t\t\t$(cat $TMP)\n";
      grep -vw $arq $ARQ > $TMP;
      mv $TMP $ARQ;
      while [ $(ls -1 $LIX | wc -l) != "0" ]; do
         echo -e "\t\t'$LIX' ainda contem o(s) arquivo(s)...\n";
         for i in $(ls -1 $LIX); do
            echo -e "\t\t\t\t ->" $i;
         done
         echo -e "\n\t\tQual arquivo deseja restaurar? [exit] : \c"; read arq;
         if [ "$arq" = "exit" ]; then
            clear;
            exit 0;
         fi
         while ! [ -e $LIX/$arq ]; do
            clear;
            echo -e "\n\t\tError: - '$arq' nao existe em '$LIX' -\n";
            echo -e "\t\tDigite uma resposta valida...\n";
            for i in $(ls -1 $LIX); do
               echo -e "\t\t\t\t ->" $i;
            done
            echo -e "\n\t\tQual dos arquivos acima vc quer restaurar? [exit] : \c"; read arq;
            if [ "$arq" = "exit" ]; then
               clear;
               exit 0;
            fi
         done
         mv -v $LIX/$arq $(grep -w $arq $ARQ) > $TMP;
         echo -e "\n\t\t\t$(cat $TMP)\n";
         grep -vw $arq $ARQ > $TMP;
         mv $TMP $ARQ;
      done
      ;;
      *)
      clear;
      echo -e "\n\t\tDigite uma opcao valida...\n";
      ;;
   esac
fi

Scripts recomendados

Cotação de ações da BM&FBOVESPA no bash com Dialog

Copia um DVD de um Game para o HDD do Play2 via rede

Gerenciador de Conexões terminal server com Mysql

Corte de faixa de áudio com o cutmp3

Desmontar e Ejetar CD/DVD


  

Comentários
[1] Comentário enviado por _luks em 08/03/2006 - 15:07h

acho que não deveria listar a lixeira no começo do script. crie uma opção para isso :)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts