shell脚本 判断read的字符串是不是纯数字

我这样写:
read c
if [ $c=^[1-9][0-9]* ]
then
echo Is a digit!
......
为什么我随便输入个字符串就能执行到 Is a digit..
正则表达式写得有问题吗?各位怎么不回答呀
如果你是bash 3.0 或以上态侍乱,可谈皮以这样写:

if [[ "$c" =~ "^[0-9]+$" ]]; then

echo "Number"
else
echo "帆档Not a number!"
fi