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

 


Responder a