关于bash shell 下编程的数据类型的问题

关于bash shell 下编程的数据类型的问题

脚本代码如下
#!/bin/bash
clear
read s

if [ $s -gt 2999 ] && [ $s -lt 3001 ]
        then
        echo "right"
             else
        echo "wrong"
fi
运行时输入3000 ,结果为           right
运行时若输入2999.5则显示    ./test: line 5: [: 299.5: integer expression expected wrong
请问这时什么原因      
bash没有浮点的数据类型!      
那么在bash下写教本就不能用小数了?谢谢      
可以使用别工具
比如bc      
记得可以用 %s  %d %c 吧