Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 5.185 ]
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"
}
Script em Tcl para descompactar arquivos
Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa
Renomeando arquivos de forma padronizada
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Atualizar Linux Mint 22.2 para 22.3 beta
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (42)
Assisti Avatar 3: Fogo e Cinzas (1)
Conky, alerta de temperatura alta (7)









