shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Lixeira restaurável


From: ff9will
Subject: Lixeira restaurável
Date: Thu, 20 Dec 2007 18:14:08 -0000
User-agent: eGroups-EW/0.82

Olá, eu sou um novo membro deste grupo e tenho a seguinte dúvida:

Eu lembro que "Restaurar itens da lixeira" era uma das vontades que os
usuários linux queriam(pelo menos que eu saiba no Gnome isso não
existe)...

Sou inicinate em shell script mas estou tentando criar(montar) algo
parecido para o Nautilus...
Isso não é algo muito difícil e não sei como não foi
implementado antes...
Uma opção seria através do Nautilus actions, criando um script e
colocando no menu de arquivo(right-clicking)...

O que me falta para terminar isso é saber:
Por que este script colocado em Nautilus-script não funciona
corretamente:

#!/bin/bash
#
for I in `echo $*`
do
mv -T $I /home/$USERNAME/.Trash/
data=`date +"%Y%j%H%M%S%N"`
origem=`pwd`
echo "$I:$origem:$data" >> ~/.trasher
done
done
exit0

O intuito desse scrpit é mover para a lixeira registrando num
arquivo(.trasher)
os dados como nome do arquivo, origem, data e hora, permissões, para
depois ele poder ser restaurado por outro script.

O que tenho notado é que este script funciona somente na pasta
pessoal.
A variável $I captura o arquivo clicado(o nome dele) para depois ser
manejado...

O engraçado é que a maior parte deste script funciona no script de
montar ISO mas não com o comando mv.
http://ruimoura.net/blog/2006/10/31/nautilus-scripts-montardesmontar-iso\
/
<http://ruimoura.net/blog/2006/10/31/nautilus-scripts-montardesmontar-is\
o/>

Parece que apesar de o arquivo em que eu testei estar na área de
trabalho, o valor da variável $origem é sempre a minha pasta
pessoal (/home/williams), mesmo ela não sendo minha área de
trabalho(o nautilus d'esa opção de usar a pasta pessoal como área
de trabalho).

Após executar o script o resultado do arquivo .trasher foi o
esperado:
arquivo_teste:/home/williams:20073521538500909
porém o arquivo não estava na pasta /home/williams e sim em
/home/williams/Desktop (Obs.: Eu sei que no Ubuntu Gutsy desktop se
chama Área de trabalho, mas uso o Ubuntu Dapper,e ainda é
Desktop).

Será que o problema está no comando mv?
Ou está entre o computador e a cadeira?
hehehe

Já tentei mudar alguns parâmetros do mv( -T):

#!/bin/bash
#
for I in `echo $*`
do
mv $I /home/$USERNAME/.Trash/
data=`date +"%Y%j%H%M%S%N"`
origem=`pwd`
echo "$I:$origem:$data" >> ~/.trasher
done
done
exit0

Assim também não funciona:

#!/bin/bash
#
for I in `echo $*`
do
mv $I ~/.Trash/$I
data=`date +"%Y%j%H%M%S%N"`
origem=`pwd`
echo "$I:$origem:$data" >> ~/.trasher
done
done
exit0

Mas mesmo assim não funcionou em outro lugar a não ser na pasta
pessoal.

Alguma solução, pessoal?            


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]