shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] While


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] While
Date: Tue, 30 Aug 2005 11:22:39 -0300

que tal usar CASE no lugar desse monte de IF ?

PROXY=""
while [[ $PROXY != [SN] ]]   # usamos aqui uma expressao regular 'S ou N'
do 
    read -p "Deseja abilitar um servidor proxy (squid). S/N: " PROXY   
    case $PROXY in 
        S|N) ;;                          # nao faz nada
        s) PROXY="S" ;;          # converte pra S
        n) PROXY="N" ;;          # converte pra N  
        *) "Opção inválida" ;;     # outros casos
    esac
done

Sinceramente, tentei usar o teu script abaixo mas ele dá mais erros ainda...
Da pra converter de minuscula pra maiuscula assim:

PROXY=`echo $PROXY | tr [:lower:] [:upper:]`
ou
PROXY=$(echo $PROXY | tr [:lower:] [:upper:])

Em 30/08/05, White_Tiger<address@hidden> escreveu:
>  Pessoal. Estou com um problema numa parte de um script de firewall que
> estou 
>  escrevendo.
> ------------------------------------------------------------------------------------
>  PROXY="A"
>  
>  while $PROXY!="S" || $PROXY!="N"
>  do
>  printf "Deseja abilitar um servidor proxy (squid). S/N: "
>  read PROXY
>  if $PROXY=="s"
>  then
>  PROXY="S"
>  elseif $PROXY=="n"
>  then
>  PROXY="N"
>  fi
>  if $PROXY!="S" || $PROXY!="N"
>  then
>  printf "Opção inválida!"
>  fi
>  done
> ------------------------------------------------------------------------------------
>  Mas ele apresenta erro na linha:
>  
>  while $PROXY!="S" || $PROXY!="N"
>  
>  Diz que não reconhece o comando: A!=S
>  
>  
>  [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: address@hidden
> ---------------------------------------------------------------------
>  Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
>  
> 
>  
>  
>  Yahoo! Grupos, um serviço oferecido por: 
>  
> PUBLICIDADE
>  
>  ________________________________
>  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:
> address@hidden
>   
> O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do
> Yahoo!.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]