-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Olá Linux-BR.

Eu descobri a pouco tempo o Zenity e estou tentando fazer alguns scripts
que façam uso dele para agilizar/embelezar algumas tarefas rotineiras
(cifragem/decifragem de arquivos, geração de hashes, etc).

Um gigantesco problema que eu encontrei foi para fazer a opção
- --progress funcionar de forma sã. Os programas que eu uso não geram uma
saída que possa ser utilizada como parâmetros do Zenity (como o GPG),
então eu preferi uma abordagem mais simplificada: criar a barra de
progresso em relação aos arquivos processados/a processar ao invés de
cada arquivo individualmente.

Isso está me dando uma dor de cabeça gigantesca, porque parece que o
Zenity se recusa a funcionar se não for um pipe direto para ele. Minha
intenção é a de deixar um descritor de arquivos aberto e deixá-lo lendo
o mesmo, enquanto escrevo independentemente nele.

Eu não sou um profissional de Shell Scripting, mas pelo menos todas as
minhas abordagens pareciam no mínimo sãs. Ainda assim, sem sucesso.

Achei algumas literaturas na web, como o Capítulo 16 do Advanced
Bash-Scripting Guide
(http://www.linux.com/guides/abs-guide/io-redirection.shtml) que me deu
muitas idéias boas, mas que mesmo assim não funcionaram.

Abaixo segue uma lista de formas tentadas (8 pode ser um fd qualquer):

- -----

exec 8<&0
(for i in `seq 0 10 100`; do sleep 1; echo $i >&8; done) &
exec 8>(zenity --progress)

- -----

exec 8<>&0
(for i in `seq 0 10 100`; do sleep 1; echo $i >&8; done) &
exec 8>(zenity --progress)

- -----

exec (for i in `seq 0 10 100`; do sleep 1; echo $i; done)>(zenity
- --progress)

- -----

(for i in `seq 0 10 100`; do sleep 1; echo $i; done)>(zenity --progress)

- -----

exec 8> >(zenity --progress)
for i in `seq 0 10 100`; do sleep 1; echo $i >&8; done
(http://blogs.gnome.org/view/jamesh/2004/09/16/0)

Estranhamente esta última funciona perfeitamente dentro de um console,
mas ao ser colocada dentro de um script acontece o seguinte:

[EMAIL PROTECTED]:~/Temporários/basic$ sh teste.sh
teste.sh: line 15: syntax error near unexpected token `>'
teste.sh: line 15: `exec 8> >(zenity --progress)'

Se alguém tiver alguma idéia, mesmo que seja "joga a porcaria do Zenity
no lixo", serei muito grato.

[]'s
Gustavo

- --
Gustavo Vasconcelos <[EMAIL PROTECTED]>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDCkESGVGVi/8AZ0cRA/g3AJ9Dwbbf8RKOfpHg7+hFqnU9XUZ4bACeLXGh
YxttF47RIor0pvHZH/JWFoc=
=R8Wl
-----END PGP SIGNATURE-----
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a