Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 5.273 ]
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"
}
Renomeando arquivos de forma padronizada
param - abre aplicativos com parâmetros no Blackbox e outros
Crivo de Eratóstenes Simples em Tcl (sem Tk)
Script em Tcl para descompactar arquivos
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
A evolução do Linux e as mudanças que se fazem necessárias desde o seu lançamento
Zen Kernel no Arch Linux (instalar e remover)
Como instalar e remover o kernel Liquorix
Fazendo o controle de Xbox 360 USB funcionar no One Piece Pirate Warriors 4 (Arch Linux/Steam)
Não consigo publicar screenshots no Viva o Linux (5)









