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

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

Re: [shell-script] Como testar se um valor digitado é um número


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Como testar se um valor digitado é um número
Date: Mon, 24 Sep 2007 19:04:47 -0300
User-agent: Thunderbird 2.0.0.0 (X11/20070326)

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.


reply via email to

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