Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 5.057 ]
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
Corretagem 0.1 - calcula corretagem padrão de operações da Bovespa
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
Primeiras impressões do Debian 13 (8)
como resolver o problema de som do linux mint mate (4)
Rede wifi com mesmo ip da rede eth (13)