Eli C. answered 11/20/19
Tutor
New to Wyzant
Software Engineering Professional With Many Years of Experience
many ways to do this. here's one (could be made more efficient):
function testForNumber() {
result=$(echo -n $1 | grep -E "^[0-9]*$");
if [ "$result" != "" ];
then
echo -n 1;
else
echo -n 0;
fi;
}
isNumber=$(testForNumber $1);
test $isNumber -eq 1 || echo "need a number";
here's a slightly different way:
function testForNumber() {
result=$(echo -n $1 | grep -E "^[0-9]*$");
if [ "$result" != "" ];
then
return 1;
else
return 0;
fi;
}
testForNumber $1;
rtn=$?;
test $rtn -eq 1 || echo "need a number";