[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Falha na comparacao [a-z] [A-Z]
From: |
Jeiks |
Subject: |
Re: [shell-script] Falha na comparacao [a-z] [A-Z] |
Date: |
Wed, 25 Aug 2010 10:29:09 -0300 |
Olá Gabriel,
isso acontece devido a codificação utilizada em seu sistema, que tem as
letras em maiúsculo próximas as em minúsculo, ou seja, ao invés de ser
"a,b,c,d..." é "a,A,b,B,c,C..."
Para garantir que funcione sem precisar mexer com a codificação, utilize
o lower e o upper, assim:
case "$1" in
[[:lower:]]) echo "Letra Minuscula"
;;
[[:upper:]]) echo "Letra Maiuscula"
;;
[0-9]) echo "Numero Inteiro"
;;
*) echo "Caracter Especial"
;;
esac
abs
Em 25 de agosto de 2010 02:20, Gabriel Marrocos <
address@hidden> escreveu:
>
>
> Boa noite a todos,
>
> Pessoal estou fazendo um script simples que verifica se o carácter passado
> como
> argumento é um numero, uma letra maiúscula, minuscula ou um carácter
> especial.
>
> Porem quando passo o argumento como A,B até X ele me retorna como uma letra
>
> minuscula. Já se eu passar como argumento a letra Z ele me retorna
> maiúscula!
>
> Alguém saberia me dizer se estou fazendo algo errado ou é alguma falha?
>
> Estou usando Ubuntu 10.04 e bash versão 4.1.5
>
> case $1 in
> [a-z]) echo "Letra Minuscula"
> ;;
> [A-Z]) echo "Letra Maiuscula"
> ;;
> [0-9]) echo "Numero Inteiro"
> ;;
> *) echo "Caracter Especial"
> ;;
> esac
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Jacson R. C. Silva
[As partes desta mensagem que não continham texto foram removidas]