Criando uma lixeira [Melhorado]
Publicado por Sandro Marcell 18/07/2007
[ Hits: 5.207 ]
Homepage: http://sanmarcell.wordpress.com
Versão melhorada de um script que cria uma simples lixeira para o usuário. (Versão CShell)
Dica:
Coloque esta linha em seu .bashrc:
alias rm=nome_do_script
Assim toda vez que você chamar pelo terminal o comando rm, estará invocando este script.
Falou!!!
#!/bin/csh # # Criando uma simples lixeira. # (Versão CShell) # # Autor: Sandro Marcell (sandro_marcell@yahoo.com.br) # # Obs.: # Arquivos e diretórios são removidos sem pedido de confirmação. # É possível o uso do metacaractere (*). # A opção -r remove a lixeira. # Checando parâmetros: if ($#argv == 0) then echo "Uso: `basename $0` arquivo1 [arquivoN]\ ou\ `basename $0` -r [Para remover a lixeira]" exit endif # Criando a lixeira: set LIXEIRA = $home/lixeira if (! -e $LIXEIRA) then mkdir $LIXEIRA endif # O que fazer? switch ($argv[1]) # Remover a lixeira! case -r: # Descartando a opção -r: shift # Checando parâmetros: if ($#argv >= 1) then echo "Erro: A opção [-r] não aceita parâmetros!" exit else # Perguntando antes de remover: echo -n "Deseja realmente remover a lixeira? [s/n]:" # Capturando resposta: set R = $< # Checando resposta: if ($R == s || $R == S) then # Removendo rm -R -f $LIXEIRA >& /dev/null echo "Lixeira removida!" exit else if ($R == n || $R == N) then echo "Saindo..." exit else echo "[$R] Resposta inválida." exit endif endif breaksw # ou mandar tudo pro lixo... default: # Início do loop: foreach A ($argv) # Testes condicionais: if (! -e $A) then echo "-> Arquivo ou diretório não encontrado." continue else if (! -w $A) then echo "-> Sem permissão para remover." continue endif # Removendo: ls $A | xargs cp -R -f $A --target-directory=$LIXEIRA >& /dev/null ls $A | xargs rm -R -f $A >& /dev/null echo "Arquivo removido!" end breaksw endsw # Fim
Twitter via https pelo terminal
Atualizando o banco de dados do ClamAV sem freshclam
Array de números aleatórios não-repetidos de um intervalo em Shellscript (Bashscript)
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Criando uma VPC na AWS via CLI
Multifuncional HP imprime mas não digitaliza
Dica básica para escrever um Artigo.
Como Exibir Imagens Aleatórias no Neofetch para Personalizar seu Terminal
Preciso de ajuda para mudar do ubuntu para fedora (0)
Exclui todos os usuários sem querer e não consigo criar outro (1)
Compartilhame... no Samba não funciona [RESOLVIDO] (17)