[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] dialog II
From: |
Aurelio Marinho Jargas |
Subject: |
Re: [shell-script] dialog II |
Date: |
Tue, 25 May 2004 17:19:16 -0300 (ART) |
oi alessandro,
--- Alessandro <address@hidden> escreveu:
> achei q fosse mais facil...vou colar um trecho do meu codigo
realmente é complicado pois envolve algumas abstrações de
shell, espero que eu consiga explicar.
em resumo, você vai ter que usar o eval e compor a linha
de comando inteira do dialog, colocando aspas ao redor
da string que tem mais de uma palavra.
> Tela_inicial(){
> dialog --stdout --menu 'Gerenciador de Impressao' \
> 0 0 0 \
> $(for i in $(func_imp ); do
> PR=$(func_status "$i")
> echo -E "$i "$PR""
> done
> )
> }
como a tarefa é complicada, vamos dividi-la em duas. primeiro
jogue as opções do menu numa variável, use o echo para conferir
se está tudo certo:
$ opcoes=$(for i in p305 p645; do echo -n " $i \"off line\""; done)
$ echo $opcoes
p305 "off line" p645 "off line"
a pegadinha sãao as aspas escapadas dentro do echo, que
permanecem dentro da variável $opcoes. assim elas "protegem"
as duas palavras, para que o shell as trate como uma só.
agora é o pulo do gato, fazer do comando todo uma stringona
entre "aspas" e usar o eval (olha ele de novo, no mesmo dia,
o julio deve estar se deleitando agora :) para executar o
comando:
$ eval "dialog --menu titulo 0 0 0 $opcoes"
o bom de se separar numa variável as opções é que o código
também fica mais legível.
não vou testar aqui, mas a tua função vai ficar +- assim:
Tela_inicial(){
opcoes=$(for i in $(func_imp ); do
PR=$(func_status "$i")
echo -nE " $i \"$PR\""
done
)
eval "dialog --stdout --menu 'Gerenciador de Impressao' \
0 0 0 $opcoes"
}
eu ainda colocaria o titulo do menu em outra variável pra
linha de chamada do dialog caber numa linha só e ficar mais
bonitinho.
beleza?
=====
--
Aurelio Marinho Jargas, Curitiba, Conectiva
Novo: zzbovespa zzloteria http://aurelio.net/zz
txt2tags versao 2.0 BETA1 http://txt2tags.sf.net/beta
V FISL com um toque verde http://aurelio.net/curso
______________________________________________________________________
Participe da pesquisa global sobre o Yahoo! Mail:
http://br.surveys.yahoo.com/global_mail_survey_br
- Transformando Aspas duplas em simples, André Luiz Alves da Silva Prates, 2004/05/25
- Re: [shell-script] Transformando Aspas duplas em simples, Rodrigo Miranda, 2004/05/26
- Re: [shell-script] Transformando Aspas duplas em simples, Frederico Bohne Espinosa, 2004/05/26
- Re: [shell-script] Transformando Aspas duplas em simples, Rodrigo Miranda, 2004/05/27
- Re: [shell-script] Transformando Aspas duplas em simples, 0x7c0, 2004/05/27
- Re[2]: [shell-script] Transformando Aspas duplas em simples, Viktor Mota, 2004/05/27
- Re: Re[2]: [shell-script] Transformando Aspas duplas em simples, Rodrigo Miranda, 2004/05/28
- Re: Re[2]: [shell-script] Transformando Aspas duplas em simples, Frederico Bohne Espinosa, 2004/05/28
- Re: Re[2]: [shell-script] Transformando Aspas duplas em simples, Tiago, 2004/05/28
- Re: Re[2]: [shell-script] Transformando Aspas duplas em simples, Rodrigo Miranda, 2004/05/29
- Re[2]: [shell-script] Transformando Aspas duplas em simples, Viktor Mota, 2004/05/27