Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 4.900 ]
Homepage: http://sanmarcell.wordpress.com
Este simples script em Tcl, remove arquivos e diretórios, mas em vez de apagá-los, ele os copia para um diretório que será criado em /tmp e que servirá como lixeira.
Sugestão: Coloque está linha em seu .bash_profile:
alias rm=nome_do_script
Assim toda vez que você chamar o comando rm, estará invocando este script.
#!/usr/bin/tcl ## Lixeira.tcl - Script que cria uma lixeira para o usuário ## Escrito por: Sandro Marcell P. Barbosa (Boa Vista - Roraima) ## E-mail: sandro_marcell@yahoo.com.br ## Slackware GNU/Linux 10.1 # +--------------------------------------------------------------+ # Este script remove arq(s). e dir(s)., sem pedido de confirmação. # O uso do metacaractere (*) é permitido. # +--------------------------------------------------------------+ # Checa se o usuário passou algum parâmetro para o script: if {$argc == 0} { puts stdout "\n>>> Uso: [file tail $argv0] arq.1 arq.2 ...\n" exit 0 } # Caso tenha passado, o script contínua! # Criando, caso não exista o diretório onde o(s) arq(s)./dir(s).\ removido(s), será(ão) posto(s): set LIXEIRA "/tmp/lixeira-$tcl_platform(user)" if {![file exists $LIXEIRA]} { file mkdir $LIXEIRA } # Setando as permissões para a lixeira: file attributes $LIXEIRA -permissions u+rwx,go-rwx # Início do laço "foreach", responsável pelo controle das execuções abaixo: foreach ARQUIVO $argv { # Checa se o(s) arq(s)./dir(s). existe(m): if {![file exists $ARQUIVO]} { puts stdout "\nArquivo ou diretório não encotrado!\n" exit 0 continue } # Checa se o usuário é o dono: if {![file owned $ARQUIVO]} { puts stdout "\nSem permissão para remover!\n" exit 0 continue } # Se o usuário desejar remover a lixeira!: if {$ARQUIVO == $LIXEIRA} { file delete -force $LIXEIRA puts stdout "\nLixeira removida!\n" continue } # Se as duas primeiras condições forem satisfeitas,\ então estes comandos serão executados: file copy -force $ARQUIVO $LIXEIRA ; file delete -force $ARQUIVO ; puts stdout "\nArquivo removido!\n" }
param - abre aplicativos com parâmetros no Blackbox e outros
Renomeando arquivos de forma padronizada
Script em Tcl para descompactar arquivos
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
A area de trabalho ficou preta (14)
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (4)
xubuntu sem sons de eventos (4)