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

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

Re: Como testar se um valor digitado é um número


From: jrsreis
Subject: Re: Como testar se um valor digitado é um número
Date: Tue, 25 Sep 2007 12:17:46 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, Fabiano Caixeta Duarte
<fcd.listas@...> escreveu
>
> jrsreis escreveu:
> > 
> > 
> > Olá Pessoal,
> > 
> > Estou tentando criar um script com função, mas não estou
> > conseguindo, nem passar o valor para a função. E gostaria também de
> > saber se há como testar se um valor digitado é um número negativo ou
> > positivo. Se o usuário teclar Enter sem digitar nada o programa teria
> > que trar isso.
> > Abaixo segue o que estou tentando fazer. Se puderem me ajudar, eu
> > agradeço.
> > 
> > #!/bin/bash
> > # Script para comparar dois números
> > 
> > clear
> > 
> > function frecebervalor
> > {
> > local FLAG=false
> > while $FLAG == "false"
> > do
> > read N1
> > if [ -z $N1 ] then
> > FLAG=true
> > fi
> > 
> > done
> > }
> > 
> > echo "Entre com o primeiro número:"
> > frecebervalor N1
> > 
> > echo "Entre com o segundo número:"
> > read N2
> > 
> > clear
> > 
> > if [ $N1 -eq $N2 ] ; then
> > echo "O número $N1 é igual a $N2!"
> > elif [ $N1 -gt $N2 ] ; then
> > echo "O número $N1 é maior do que $N2!"
> > else
> > echo "O número $N2 é maior do que $N1!"
> > fi
> > 
> 
> Você pode utilizar expressões regulares.
> [[ "$A" =~ ^[0-9]+$ ]] && echo ok
> 
> Outra coisa: você não precisa de uma função pra ler um valor da entrada 
> padrão. O comando read faz isto pra você.
> 
> Fabiano.
>


    Olá Fabiano,

        Obrigado pela ajuda, eu gostaria de incluir a função somente
para eu entender como funciona, pois estou começando a entrar de
cabeça em shell script. Há possibilidade de me ajudar ? Como faria
para chamar a função ? Eu tenho que ler a entrada de dentro da função
? Ou no momento da chamada da função ?

 Júnior.



reply via email to

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