如何判断命令行的参数是不是一个数字?
$cat _chk
#!/bin/ksh
#
var=$(echo $1|bc 2>/dev/null)
if [[ $var != $1 ]]
then
echo "$1 isn't a number!"
exit 1
fi
if echo $1|grep "\." >/dev/null 2>&1
then
echo "$1 is float a number!"
else
echo "$1 is integer a number!"
fi
#!/bin/ksh
#
var=$(echo $1|bc 2>/dev/null)
if [[ $var != $1 ]]
then
echo "$1 isn't a number!"
exit 1
fi
if echo $1|grep "\." >/dev/null 2>&1
then
echo "$1 is float a number!"
else
echo "$1 is integer a number!"
fi
$_chk 234.23423.234
234.23423.234 isn't a number!
$_chk 23.234
23.234 is float a number!
$_chk 234
234 is integer a number!
$_chk sdf
sdf isn't a number!
$_chk 234.234
234.234 is float a number!
$_chk 234.45d
234.45d isn't a number!
$_chk de.er
de.er isn't a number!
$_chk er3489fnj.234werer.were
er3489fnj.234werer.were isn't a number!
234.23423.234 isn't a number!
$_chk 23.234
23.234 is float a number!
$_chk 234
234 is integer a number!
$_chk sdf
sdf isn't a number!
$_chk 234.234
234.234 is float a number!
$_chk 234.45d
234.45d isn't a number!
$_chk de.er
de.er isn't a number!
$_chk er3489fnj.234werer.were
er3489fnj.234werer.were isn't a number!