Marcos,
não cheguei a testar mas acredito que funcione...pensei em duas maneiras:
1 - criar uma "chave" para o programa, tipo declarando uma vairavel
------------------------------------------------------------------------------------------------------------------------------------
CHAVE=0
#que serviria para sair do laço assim:
while [ $CHAVE = "0" ]; do
ai
aqui
viria
todo o
processo
#em algum lugar viria um condicional
if [ opção de saida ]; then
$CHAVE=$((CHAVE+1))
fi
done
# enquanto a condição não for satisfeita o laço não tem fim...manjou...
------------------------------------------------------------------------------------------------------------------------------------
2 - uma outro opção seria colocar o processo dentro de uma função que para
não
ser finalizada em algum momento do processo a função chama ela mesmo:
tipo
funcao.dialog(){
ai
aqui
viria
todo o
processo
# enquanto a condição não for satisfeita
if [ opção de saida ]; then
exit
else
funcao.dialog
fi
}
------------------------------------------------------------------------------------------------------------------------------------
claro que as duas alternativas precisam ser bem pensadas, mas fica aqui a
ideia, espero ter ajudado.
abraços
############################################################
Reinaldo
Linux User : 406967
Emails:
echo 'reimlima''.com' | sed
's/\(reimlima\)\(.com\)/[EMAIL PROTECTED]@[EMAIL PROTECTED]/'
echo 1818051527984510780893780664296243491354600493300713506724768535179018P
| dc
############################################################
>From: "Marcos Gattermeyer" <[EMAIL PROTECTED]>
>Reply-To: [email protected]
>To: [email protected]
>Subject: [shell-script] Refresh com dialog....
>Date: Wed, 29 Mar 2006 13:59:25 -0000
>
>Bom dia a todos.
>Tenho um menu de escolha rodando conforme segue:
>
>#!/bin/sh
>clear
>while : ; do
>WVOL=`cat /rds/set/musica.vol`
>resposta=$(
>dialog --stdout \
>--title 'RADIO - Vol. '$WVOL'%' \
>--menu 'Escolha a opção desejada ?:' \
>0 0 0 \
>1 'Liga RADIO' \
>2 'Desliga RADIO' \
>3 'Diminui SOM' \
>4 'Aumenta SOM' )
>[ $? -ne 0 ] && break
>case "$resposta" in
>1) echo "Liga som" > /0 ;;
>2) echo "Desliga som" > /1 ;;
>3) echo "Diminui som" > /2
>sleep 1;;
>4) echo "Aumenta som" > /3
>sleep 1;;
>esac
>done
>
>Gostaria de ficar fazendo um refresh da informação contida na variavel
>WVOL sem sai do while, mesmo sendo em outra janela ou posição.
>Gostaria tambem de saber como ficar mostrando a variavel WVOL a cada
>alteraçao de volume, ja que fico preso no laço a cada escolha de opçao.
>Tentei criar outro laço por fora desse while e usar a opção --timeout
>10, mas essa opção me retorna o mesmo codigo do ESC e ai sai fora do
>menu.
>A variavel WVOL tambem poderia ser mostrada em outro local...
>
>Desde ja obrigado
>
>Marcos Gattermeyer
>
>
>
>
>
---------------------------------------------------------------------
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: [EMAIL PROTECTED]
---------------------------------------------------------------------
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
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html