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: Julio C. Neves
Subject: Re: [shell-script] Erro usando o case
Date: Mon, 22 Jan 2007 18:59:15 -0200

Fala Nilo,
o problema deve ser na variável LC_COLLATE do sistema. Esta variável
determina de classificação dos patterns (caracteres coringa).

Para ver a explicação legal, faça man bash e uma vez lá, digite /LC_COLLATE
e dê um <enter>.

Seu problema dve ser resolvido se vc fizer LC_COLLATE=C

Eu faço esta atribuição no meu .bash_profile.

Abração e suShellso,
Julio
:wq


2007/1/22, Nilo Martins <address@hidden>:
>
>   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]
>
>  
>


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



reply via email to

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