Pular para o conteúdo

Verificar Tamanho

Responder tópico
  • Denunciar
  • Indicar

1. Verificar Tamanho

Enviado em 20/05/2009 - 16:08h

Preciso fazer um controle, tenho uma variavel que soh pode aceitar 4 digitos

if [ $Var > 0000 ] && [ $Var < 9999 ]; then
....
....
....

soh que na execução do shel se eu digitar 1 ele esta aceitando.... tem como eu "mascarar" isso ?


Obrigado.

Responder tópico

2. Re: Verificar Tamanho

Enviado em 20/05/2009 - 16:35h

Se o único requisito é ter no máximo 4 digitos, você pode usar o wc:

if [ "$(echo $VAR1| wc -L)" -le 4 ]; then
echo Variável serve
else
echo Variável não serve
fi

3. Re: Verificar Tamanho

Enviado em 20/05/2009 - 17:15h

Amigo, muito obrigado pela resposta.

a variavel nao pode estar vazia (que eu resolvi com outra ajuda aqui mesmo) inserindo -z posso colocar isso junto ?

Obrigado.

4. Re: Verificar Tamanho

Enviado em 20/05/2009 - 20:44h

E se voce fizesse assim:

varCount=`expr length "$Var"`
if [ "$varCount" -eq "4" ]; then
echo OK
else
echo NOK
fi

Resolve?

5. Re: Verificar Tamanho

Enviado em 21/05/2009 - 11:44h

entao...
eu tentei fazer uma mistura de tudo que vi aqui, mas nao funcionou, vejam :

.....
.......
if [ ! "$(echo $Var | wc -L)" -le 4 ]; then
echo " informe 4 digitos para o codigo "
.....
.......

ou seja, se a variavel NAO tiver 4 digitos pede para digitar novamente, se tiver continua
rodando...

usei o " ! " na intensão de controlar isso, mas nao deu certo... em shell script nao usa o
" ! " ?


Valeu ae pelas respostas...


T+

6. Re: Verificar Tamanho

Enviado em 21/05/2009 - 11:56h

Boas
Se o requisito é que OBRIGATORIAMENTE o codigo tem que ter 4 digitos, voce pode utilizar o while (só sai do laço quando o comprimento de $Var for = 4

#!/bin/bash
echo "digite"
read Var
while [ ! "$(echo $Var | wc -L)" -eq 4 ]
do
echo " informe 4 digitos para o codigo "
read Var
done

a expressão que voce estava usando ( ! "$(echo $Var | wc -L)" -le 4) estava errada, pois esta dizendo que $Var não pode ser menor que 4 (-le)...
Espero que ajude


7. Re: Verificar Tamanho

Enviado em 21/05/2009 - 17:37h

você tentou usar isso? Não funcionou?

varCount=`expr length "$Var"`
if [ "$varCount" -eq "4" ]; then
echo "Voce digitou: $Var"
else
echo "Digite novamente"
fi

8. Re: Verificar Tamanho

Enviado em 23/05/2009 - 16:19h

Hey!, desculpe a demora em responder...
Então... eu desconheço essa opção "-z"... qual seria o propósito dela?

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder