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

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

Re: [shell-script] Erro usando o case


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Erro usando o case
Date: Mon, 22 Jan 2007 18:23:40 -0200

Nilo

Experimente fazer:

case "$1" in
[[:lower:]]) echo "Letra Minuscula" ;;
[[:upper:]]) echo "Letra Maiuscula" ;;
[0-9]) echo "Numero"          ;;
*) echo "Caracter Especial"   ;;
esac

É um problema "classico", onde os ranges a-z e A-Z não apresentam o
resultado esperado de acordo com alguma distribuição ou opção de
localização. As formas "posix" são sempre executadas corretamente ;-)

Mais informações em:
http://kaneda.bohater.net/faq/abs-guide/testbranch.html

On 1/22/07, Nilo Martins <address@hidden> wrote:
>
>   Olá pessoal, essa é minha primeira mensagem para a lista.
>
> Estou iniciando meus estudo de shell script e comprei o livro Programação
> Shell Linux (de Julio Cezar Neves) para facilitar esta tarefa.
>
> Neste livro tem um exemplo que está dando erro aqui no meu Ubuntu.
>
> O código é o seguinte: (testchar.sh)
>
> #
> # Testa qual o tipo de um caracter recebido por parametro
> #
>
> ##### Teste da Quantidade de Parametros #####
> erro=0
> if [ "$#" -ne 1 ]
> then
> echo "Erro -> Uso: testchar caracter"
> erro=1
> fi
>
> ##### Testa se o 1o. parametro tem o tamanho de um caracter #####
> case $1 in
> ?) ;;
> *) echo "Erro -> Parametro passado tem mais de um caracter"
> erro=2
> ;;
> esac
>
> ##### Se houve erro o programa termina, passando o codigo do erro #####
> if [ "$erro" -ne 0 ]
> then
> exit $erro
> fi
>
> case $1 in
> [a-z]) echo Letra Minuscula
> ;;
> [A-Z]) echo Letra Maiuscula
> ;;
> [0-9]) echo Numero
> ;;
> *) echo Caracter Especial
> ;;
> esac
> exit 0
>
> O problema é que quando executo:
> $ ./testchar.sh A
> Letra Minuscula
> ------------------- > Como vocês viram deveria aparecer a mensagem Letra
> Maiúscula e não Minúscula.
> Não vejo nenhum problema no script. Será alguma configuração do meu bash?
>
> Um detalhe interessante quando abro o arquivo para editar no gedit ele
> marca
> o "z" menúsculo do case com uma cor diferente.
>
> Agradeço qualquer ajuda.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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