Chinaunix首页 | 论坛 | 博客
  • 博客访问: 483194
  • 博文数量: 401
  • 博客积分: 244
  • 博客等级: 入伍新兵
  • 技术积分: 2215
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-04 10:02
文章分类

全部博文(401)

文章存档

2013年(37)

2012年(364)

分类:

2012-10-11 14:39:46

网上搜到的几种方法,记载备用:

expr match "123456" "[0-9][0-9]*$"

返回值大于0,就说明全部都是数字

1) Bash >= 3.0

if [[ "${variable}" =~ "^[[:digit:]]*$" ]]; then
echo "Found digit string!"
fi

2) Bash >= 2.0

if grep '^[[:digit:]]*$' <<< "${variable}"; then
echo "Found digit string!"
fi


read input tt=`echo $input | sed -n "/^[0-9]\+$/p"` if [ "x$tt" == "x" ]; then echo no else echo yes fi
printf "Enter: " read var if [[ $var =~ ^[0-9]+$ ]] then echo "Number." elif [[ $var =~ ^[A-Za-z]+$ ]] then echo "String." else echo "mixed number and string or others " fi 或者 awk or gawk #! /bin/bash printf "Enter: " read var echo "$var" | gawk '{ if ($0 ~ /^[0-9]+$/){ print "Number " } else if ($0 ~ /^[A-Za-z]+$/){ print "String " } else { print "Mixed number and string or others" } }'
阅读(635) | 评论(0) | 转发(0) |
0

上一篇:Shell if

下一篇:shell判断数字

给主人留下些什么吧!~~