Script lixeira em Tcl
Publicado por Sandro Marcell 28/03/2007
[ Hits: 4.896 ]
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
Script em Tcl para descompactar arquivos
Crivo de Eratóstenes Simples em Tcl (sem Tk)
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
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)