shell判断字符串是否为数字

#1.组合语法判断1: 

[ -n "`echo $num|sed 's/[0-9]//g`" -a  -n  "`echo $2|sed 's/[0-9]//g'`"] &&\

echo”两个参数都必须为数字”&& exit 1

#2.组合语法判断2:

[ -n "`echo $num|sed ' s/[0-9]//g`" -a -n  "`echo $2|sed 's/[0-9]//g`"] &&{echo”两个参数都必须为数字”

exit 1 

}

#3.单个判断语法:
[ -n "`echo $1|sed 's/[0-9]//g`"] 8& echo“第一个参数必须为数字”&& exit 1
[ -n "`echo $2Ised 's/[0-9//g`" &&  echo ”第二个参数必须为数字”8& exit 1

#4.普通变量判断:
[ -n "`echo $num sed 's/[0-9]//g'`" ] && echo”第二个参数必须为数字”& exit 1

#条件表达式,大括号的用法:
[ -n "`echo $num|sed' s/[0-9]//g'`" ] &&{
echo“第二个参数必须为数字”
exit 1
]

#5.用变量的字串替换正则表达式

   num=test

   [ -z "`echo "${nun//[0-9]/}"`"] &&echo 1||echo 0

 #6.变量的子串替换加正则表达式(特殊判断思路)。

  #如果num长度不为0,并且把num中的非数字部分删除,然后看结果是不是等于num本身,如果两者都成立就 
  #是数字。。

      -n  "$num"  #如果num长度不为0表达式。

      "$num" ="${num//[ 0-9]/}"#把mum中的非数字部分删除,然后看结果是不是等于mum本身,如果两者 
                               #都成立就是数字。。

      #完整表达式

      [ -n "$num" -a "$num” = "${num//[^0-9]}/"]& echo "it is num"

#7.expr计算
expr $1 + 0 >/dev/null 2>&1
  [$? -eq 0] && echo int

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凤舞飘伶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值