Eu consegui achar 2 sites bom sobre zenity quando eu estava fazendo aquele meu programa.
No momento estou no serviço e não sei eles de cabeça, mas assim que eu chegar em casa (depois das 22 horas), eu mando os links para a lista. Me ajudou bastante. Abraço Em 28 de março de 2010 17:01, Julio C. Neves <julio.ne...@gmail.com>escreveu: > Pois é Helton, > o mundo do SL é maravilhoso. As pessoas têm prazer em ajudar às outras e > isso nos torna unidos e informados. Devido ao desenvolvimento colaborativo, > hoje temos uma produtividade incrível e nossa lista de "o que estudar" > nunca > para de crescer, ou seja, a qtd de novidades muito interessantes é sempre > maior que a nossa capacidade de estudar (pelo menos no meu caso, talvez > seja > burro). > > Te aconselho a entender bem o shell, pois é uma linguagem excelente que, > escrevendo pouco, produz-se muito. O zenity não é uma linguagem, mas sim > uma > camada de apresentação. Talvez aí resida o seu maior problema: por não ser > linguagem, a Fundação GNOME, não lhe dá muita bola e sua documentação é > fraquíssima em inglês, em português nem pensar. Vou te dar um exemplo do > que > estou falando: Procure no São Google uma forma de fazer um combobox em > zenity. Duvido que vc ache (se for material meu não vale). Descobri isso > casualmente, dando uma estudada no fonte, pois estava escrevendo uma > matéria > sobre o zenity. Acho que vou até pegar esse material, juntar com outro que > já escrevi sobre o kdialog, escrever sobre o dialog (que não gosto) e > publicar outro livro, chamado "Bombando o Shell" ;). > > Ahhh! Sobre a combo box? Simples: > > $ zenity --entry --text "Escolha o animal mais nocivo" Gafanhoto Rato > Barata > Toupeira --entry-text "George W. Bush" > > OBS: A partir de amanhã, darei um curso de shell em SP (4Linux) no qual vcs > podem se inscrever na hora. Vou dar 20% de abatimento para quem for da > lista. Mas atenção! Este abatimento valerá somente para este > treinamento. Por favor quem for da lista e estiver no curso, se apresente. > Conheço todos de nome e quase ninguém pessoalmente. > > Abraços, > Julio > Cursos de Shell e Zenity em 2 fins de semana? > - SP turma de Shell em 29/03 - ligue (11)2125-4747; > - Floripa turma Shell 12/04 http://www.seventreinamentos.com.br; > - DF turma de Shell em 17/04 - ligue (61) 3223-3000; > - Aracaju turma de Shell em 12/05 - andersonriz...@gmail.com; > - RJ turma de Shell em 14/06 - ligue (21)2210-6061; > - Turmas fechadas em outras cidades ligue (21) 8112-9988. > > > Em 27 de março de 2010 16:41, Helton Moraes <heltonbi...@gmail.com > >escreveu: > > > > > > > Uau, não esperava uma resposta tão densa! > > > > Como sou partidário de que cada solução exige uma mínima maturidade por > > parte do implementador, e como acho que ainda não tenho maturidade para > > tanto (fui descobrir o que é e pra que serve o Zenity há 30 segundos > atrás > > na Wikipedia... Por sinal, muuito interessante... 8o), vou ARQUIVAR essa > > resposta para referência futura, já que ela provavelmente vai me alargar > as > > perspectivas nos próximos estudos de Shell. > > > > Ainda ontem... (não é a música aquela) consegui uma solução parcial para > > meu > > problema, usando um script em shell e outro em octave, que por sua vez > > invocam os arquivos com as análises, todos em octave. > > > > Como tenho três categorias de diretório (uma onde estão todos os scripts, > > outras onde estão espalhados os arquivos de dados, e outra onde eu > pretendo > > salvar os resultados), acabei optando por declarar, no local e no momento > > adequado de cada script, variáveis correspondentes às pastas, uma única > > vez. > > Assim, quando dentro das análises eu preciso que algo seja salvo em > > determinado local, faço uma referência à variável em questão. Dessa > forma, > > quando eu quiser mudar tudo, é só mudar o caminho em um único local, que > é > > onde declaro a variável. > > > > Antes disso, eu tinha feito algo do tipo: > > > > find ~/pacientes/ -mindepth 2 -type d \ # a estrutura é > > ~/pacientes/determinado_paciente/determinado_exame/arq_de.dados > > -exec ~/miotecscripts/Analise1.m '{}' \; \ > > -exec ~/miotecscripts/Analise2.m '{}' \; \ > > -exec ~/miotecscripts/Analise3.m '{}' \; > > > > onde eu escapava a nova linha com um \, e poderia comentar cada linha > entre > > colchetes. > > Digamos que não era muito prático... > > > > Agora antes de terminar o email eu testei a tua resposta, ao menos a > parte > > com o zenity, e não é que funciona mesmo! Como não sabia que existia, > > acrescentarei à lista de coisas que tenho a aprender agora (que não para > de > > aumentar): > > 1)bash > > 2)sed > > 3)regexp > > 4)octave > > 5)zenity ;o) > > > > Quando chegar a hora certa, vou começar também a aumentar a biblioteca > (por > > enquanto só tem o piazinho verde (expressões regulares do aurélio)). > > Devagar > > e sempre! > > > > Obrigado pelo interesse, e até breve - com novidades, espero > > > > Helton > > > > Em 26 de março de 2010 21:49, Julio C. Neves <julio.ne...@gmail.com > <julio.neves%40gmail.com> > > >escreveu: > > > > > Fala Helton, > > > não sei se entendi bem, mas vc disse: > > > "ter um script com várias linhas, onde cada linha se referiria a um > tipo > > de > > > análise, que eu poderia comentar para realizar só as análises que me > > > interessam". > > > > > > Minha proposta é vc montar essas análises em um arquivo, o que melhora > > sua > > > manutenção, pois não será necessário editar o script toda hora. Veja o > > > arquivo que montei: > > > > > > $ cat analises > > > analise1 > > > analise2 > > > analise3 > > > analise4 > > > analise5 > > > > > > Bem criativo, né? ;) > > > > > > Agora vamos escolher as análises que vc quer fazer: > > > > > > $ Anas=$(zenity --list --checklist --text "Marque somente as análises > que > > > deseja executar" --column Marque --column Analise $(cat analises | > xargs > > > -n1 > > > echo false)) > > > > > > Escolhi as 3 opções impares e resultou: > > > > > > $ echo $Anas > > > analise1|analise3|analise5 > > > > > > só que o zenity tem a opção --separator, e este separador pode ser o > > > *texto* > > > que vc quiser. Então veja a mágica: > > > > > > $ Anas=$(zenity --list --checklist --text "Marque somente as análises > que > > > deseja executar" --column Marque --column Analise $(cat analises | > xargs > > > -n1 > > > echo false) --separator " ~/miotecscripts/") > > > $ echo $Anas > > > analise1 ~/miotecscripts/analise3 ~/miotecscripts/analise5 > > > > > > Hiii! Ficou quase bom, só falta unzinho antes de todos. Então vamos > > > colocá-lo: > > > > > > $ Anas=\~/miotecscripts/$(zenity --list --checklist --text "Marque > > somente > > > as análises que deseja executar" --column Marque --column Analise $(cat > > > analises | xargs -n1 echo false) --separator " ~/miotecscripts/") > > > $ echo $Anas > > > ~/miotecscripts/analise1 ~/miotecscripts/analise3 > > ~/miotecscripts/analise5 > > > > > > Pronto! Está aí o que vc queria (ou pelo menos penso que é o que vc > > > queria). > > > Agora vamos voltar lá no seu find e tirar tudo a partir do -exec, > > guardando > > > a saída na variável $Dirs. Ficaria assim: > > > > > > $ Dirs=$(find ~/pacientes/ -mindepth 2 -type d) > > > > > > Suponha que $Dirs tenha recebido dir1 e dir2 (continuo bem criativo, > > viu?) > > > ;) > > > > > > Então agora é só fazer: > > > > > > $ echo $Anas | xargs -i eval {} $Dirs > > > > > > Se não entendeu ou se não for isso, podemos tentar outras coisas. O > > bacana > > > desta solução é que ela ficou com 3 linhas (zenity, find e a linha de > > > execução) e sem nenhum loop. Por isso é que desconfio qdo vejo um > script > > > com > > > mais de 5 linhas... ;) > > > > > > OBS: Esta semana, a partir de 29/03, darei um curso de shell em SP > > (4Linux) > > > no qual pode se inscrever na hora. Vou dar 20% de abatimento para quem > > for > > > da lista. Mas atenção! Este abatimento valerá somente para este > > > treinamento. Por favor quem for da lista e estiver no curso, se > > apresente. > > > Conheço todos de nome e quase ninguém pessoalmente. > > > > > > Abraços, > > > Julio > > > Cursos de Shell e Zenity em 2 fins de semana? > > > - SP turma de Shell em 29/03 - ligue (11)2125-4747; > > > - Floripa turma Shell 12/04 http://www.seventreinamentos.com.br; > > > - DF turma de Shell em 17/04 - ligue (61) 3223-3000; > > > - Aracaju turma de Shell em 12/05 - andersonriz...@gmail.com > <andersonrizada%40gmail.com> > > ; > > > - RJ turma de Shell em 14/06 - ligue (21)2210-6061; > > > - Turmas fechadas em outras cidades ligue (21) 8112-9988. > > > > > > > > > Em 26 de março de 2010 00:06, heltonbiker <heltonbi...@gmail.com > <heltonbiker%40gmail.com> > > > > > > escreveu: > > > > > > > > > > > > > > > Caros Colegas > > > > > > > > Estou aprendendo ShellScript e não consegui encontrar informações > para > > > > fazer o seguinte: > > > > > > > > Fiz (com ajuda) um script nomeado RunAnalyses.sh que contém o > seguinte > > > > comando, por enquanto único: > > > > > > > > find ~/pacientes/ -mindepth 2 -type d -exec > > ~/miotecscripts/MapaRelevo.m > > > > '{}' 40 \; > > > > > > > > O objetivo é encontrar todas as pastas dois níveis abaixo (são elas > que > > > > contêm os dados a processar) e mandá-las para um script do GNU > Octave, > > > que > > > > faz a análise de alguns arquivos de cada pasta e salva em uma única > > pasta > > > de > > > > saída, designada dentro do script MapaRelevo.m > > > > > > > > Acontece que estou criando outros módulos de análise, de forma que > cada > > > > arquivo do Octave (.m) faça um tipo de análise. Além disso, como são > > > > análises para testar resultados de algoritmos, quase sempre vou > querer > > > rodar > > > > apenas algumas análises específicas, embora pretenda usar sempre o > > mesmo > > > > script. > > > > > > > > Imagino que eu poderia encadear vários -exec no mesmo find, mas o que > > > > resolveria melhor meu problema seria (uma dessas): > > > > > > > > 1) ter um script com várias linhas, onde cada linha se referiria a um > > > tipo > > > > de análise, que eu poderia comentar para realizar só as análises que > me > > > > interessam; > > > > 2) ter um script usando variáveis repassadas pela linha de comando, > de > > > > forma que eu pudesse rodar assim: > > > > $ ./RunAnalyses.sh analise1 analise2 analise3 > > > > e cada análise seria na verdade um script do Octave. > > > > > > > > Além disso, dentro de cada arquivo Octave é dado um 'cd ~/saida' > antes > > de > > > > salvar os resultados. Acredito que o melhor seria salvar na mesma > > pasta, > > > e > > > > depois dar um 'mv' de todos os arquivos para uma pasta de saída. > Assim, > > > se > > > > eu quisesse mudar a pasta de saída seria só mudar uma linha no script > > > > RunAnalyses.sh, ao invés de mudar em cada um dos scripts Octave. > > > > > > > > Não espero receber respostas prontas, apenas alguma indicação de > "boas > > > > práticas" na escolha dos comandos mais adequados e, principalmente, > na > > > forma > > > > de montar a estrutura do script, de forma a favorecer a > flexibilidade, > > > > principalmente. > > > > > > > > Grato pela atenção > > > > > > > > Helton Moraes > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > ------------------------------------ > > > > > > ---------------------------------------------------------- > > > Esta lista não admite a abordagem de outras liguagens de programação, > > como > > > perl, C etc. Quem insistir em não seguir esta regra será moderado sem > > prévio > > > aviso. > > > ---------------------------------------------------------- > > > Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br > <shell-script-unsubscribe%40yahoogrupos.com.br> > > > ---------------------------------------------------------- > > > Esta lista é moderada de acordo com o previsto em > > > http://www.listas-discussao.cjb.net > > > ---------------------------------------------------------- > > > Servidor Newsgroup da lista: news.gmane.org > > > Grupo: gmane.org.user-groups.programming.shell.brazil > > > > > > Links do Yahoo! Grupos > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > --------------------------------------------------------------------- > Esta lista não admite a abordagem de outras liguagens de programação, como > perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio > aviso. > --------------------------------------------------------------------- > Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br > --------------------------------------------------------------------- > Esta lista é moderada de acordo com o previsto em > http://www.listas-discussao.cjb.net > --------------------------------------------------------------------- > Servidor Newsgroup da lista: news.gmane.org > Grupo: gmane.org.user-groups.programming.shell.brazil > > Links do Yahoo! Grupos > > > [As partes desta mensagem que não continham texto foram removidas]