Trabalhando com perguntas e respostas:

case "$YN" in y|Y) echo sim ;; n|N) echo nao ;; *) echo invalido ;; esac

com uma opção default:

read -p 'pergunta [Y/n]: ' YN
case "$YN" in n|N) echo nao ;; *) echo sim ;; esac

read -p 'pergunta [y/N]: ' YN
case "$YN" in y|Y) echo sim ;; *) echo nao ;; esac

no caso de uma resposta obrigatória:

while [ -z "$opt" ] ; do
read -p 'pergunta [y/n]: ' YN
case "$YN" in
    y|Y) echo sim ; opt=ok ;;
    n|N) echo nao ; opt=ok ;;
     *) echo resposta $YN invalida, tente novamente ;;
esac
done
unset opt # unset se for reutilizar  o nome da variavel






On 8/16/06, daniel_zi <[EMAIL PROTECTED]> wrote:
> Olá!
>
> Num script que tenho, acontece uma interação com o usuário através de
> perguntas, como:
> -------
> echo "Você deseja prosseguir? (s/n) "
> read YN
> ------
> Como percebem o usuário somente tem que digitar s ou n. Para min
> tratar isso eu faço o seguinte esquema.
>
> if [ "$YN"  = "y" ] || [ "$YN" = "Y" ] || [ "$YN" = "n" ] || [ "$YN" =
> "N" ]; then
> ....
> ....
> fi
>
> existe uma maneira de eu resumir isso aí? Tipo:
>
> if [ "$YN"  = "y|Y" ] || [ "$YN" = "n|N" ]; then
> .......
> ........
> fi
>
> Obrigado.
>
>
>
>
>
>
> ---------------------------------------------------------------------
> 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
>
>
>
>
>
>
>
>


-- 
Reinaldo Carvalho
Debian Sarge 3.1 - Linux User: #238310
Prodepa - [EMAIL PROTECTED]


---------------------------------------------------------------------
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