Chinaunix

标题: 如何检测命令行参数以确保它们是整数而不是小数 [打印本页]

作者: 李寻欢92    时间: 2010-04-20 21:37
标题: 如何检测命令行参数以确保它们是整数而不是小数
RT
作者: sunbw001    时间: 2010-04-20 21:49
  1. if [ ${1%.*} = $1 ]
  2. then
  3.      echo "Integer"
  4. else
  5.      echo "Not Integer"
  6. fi
复制代码

作者: lkk2003rty    时间: 2010-04-20 21:51
本帖最后由 lkk2003rty 于 2010-04-20 22:02 编辑

if [[ "$1" =~ ^[1-9][0-9]*$ ]]
作者: bbgg1983    时间: 2010-04-20 21:56
回复 3# lkk2003rty


    好像不行
作者: nxlinux    时间: 2010-04-20 22:00
if [[ "$1" =~ ^[-][0-9]+$ ]];then
        echo ingeter!
else
        echo not ingeter
fi
作者: lkk2003rty    时间: 2010-04-20 22:03
回复 4# bbgg1983


    已改正。。。这样总行了吧。。。
作者: lkk2003rty    时间: 2010-04-20 22:06
lz   像12.00000这样算不算整数啊
作者: lkk2003rty    时间: 2010-04-20 22:11
回复 2# sunbw001


    这个貌似不行啊
  如果参数是像sfsfs这样的一串字符串就会识别错误。。。。
作者: 李寻欢92    时间: 2010-04-20 22:30
回复 7# lkk2003rty
算整的
这样的话你的就不行了只有sun的可以了
作者: lkk2003rty    时间: 2010-04-20 22:54
回复 9# 李寻欢92


    if [[ "$1" =~ ^[1-9][0-9]*$ ]]||[[ "$1" =~  ^[1-9][0-9]*.0+$ ]]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2