Verificar Tamanho

1. Verificar Tamanho

Clansman
clansman

(usa Debian)

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.



  


2. Re: Verificar Tamanho

Jefferson Diego
Diede

(usa Debian)

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

Clansman
clansman

(usa Debian)

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

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

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

Clansman
clansman

(usa Debian)

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

Takahashi
signout

(usa Slackware)

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

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

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

Jefferson Diego
Diede

(usa Debian)

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?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts