文档章节

Shell中判断字符串是否为数字的6种方法分享

o
 osc_isezqdgg
发布于 2019/09/18 14:51
字数 374
阅读 19
收藏 0

精选30+云产品,助力企业轻松上云!>>>

本篇文章主要介绍了”shell 判断字符串是否为数字”,主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下。

#!/bin/bash  

## 方法1
a=1234;
echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers # 第一个-n是shell的测试标志,对后面的串"`sed -n '/^[0-9][0-9]*$/p'`" 进行测试,如果非空,则结果为真。 # sed默认会显示所有输入行信息的,sed 的“-n”选项是让sed不要显示,而只显示我们所需要的内容:即后面的表达式所匹配的行, # 这是通过表达式中加入“p”命令来实现的。 # /^[0-9][0-9]*$/他的含义是匹配至少由一位数字构成的行 ## 方法2, 可以,不过不是bash实现的,是使用了grep的正则 #if grep '^[[:digit:]]*$' <<< "$1";then # echo "$1 is number." #else # echo 'no.' #fi ## 方法3 [会有问题] #if [ "$1" -gt 0 ] 2>/dev/null ;then # echo "$1 is number." #else # echo 'no.' #fi ## 方法4,case #case "$1" in # [1-9][0-9]*) # echo "$1 is number." # ;; # *) # ;; #esac ## 方法5,awk #echo $1| awk '{print($0~/^[-]?([0-9])+[.]?([0-9])+$/)?"number":"string"}' ## 方法5,awk #if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then # echo "$1 is number." #else # echo 'no.' #fi ## 方法6,expr expr $1 "+" 10 &> /dev/null if [ $? -eq 0 ];then echo "$1 is number" else echo "$1 not number" fi


转载自:https://blog.csdn.net/Real_Myth/article/details/80523058
o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Shell中判断字符串是否为数字的6种方法分享

Shell中判断字符串是否为数字的6种方法分享 "shell 判断字符串是否为数字",主要涉及到shell 判断字符串是否为数字方面的内容,对于shell 判断字符串是否为数字感兴趣的同学可以参考一下。 ...

osc_y4jbxqkl
2018/02/07
1
0
shell脚本之条件测试

name="公路之歌" singer="痛仰 - 不要停止我的音乐" playlength="184" src="/cgi-bin/readtemplate?t=tmpl/qqmusictmpl&singer=%E7%97%9B%E4%BB%B0%20-%20%E4%B8%8D%E8%A6%81%E5%81%9C%E6%A......

Double_冬
2018/08/16
0
0
Linux shell条件表达式

Shell脚本中的条件测试语法可以判断表达式是否成立,若条件成立则返回数字0,否则便返回其他随机数值。 按照测试对象来划分,条件测试语句可以分为4种: 文件测试语句; 逻辑测试语句; 整数...

桓宇Harry
2018/11/04
0
0
模块一:shell 脚本基础

https://www.cnblogs.com/cuiyongchao007/p/12239418.html 一、shell脚本介绍 (一)脚本案例及介绍: (二)shell脚本解释器: 解释器默认为bash,如果脚本中不标明解释器,默认调用bash。 ...

osc_k12h8kbw
03/19
2
0
模块一:shell 脚本基础

一、shell脚本介绍 (一)脚本案例及介绍: (二)shell脚本解释器: 解释器默认为bash,如果脚本中不标明解释器,默认调用bash。 批量注释方法1:ctrl+shift+v,光标向下移动,shitf+a,第一...

cuiyongchao007
01/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

使用命名管道承载gRPC

最近GRPC很火,感觉整RPC不用GRPC都快跟不上时髦了。 gRPC设计 gRPC是一种与语言无关的高性能远程过程调用 (RPC) 框架。刚好需要使用一个的RPC应用系统,自然而然就盯上了它,但是它真能够解...

osc_nq69o22c
14分钟前
16
0
06-敏捷开发框架-apis 脚本库 引用位置无关性设计

动态引入技术的设计,对我们来说非常重要。 同时也说明动态语言的使用对我们来说也是非常重要。 没有动态语言的支撑,有些想法可能不容易实现,或者有替代方案,可能会花更大的代价。 前端开...

osc_5zg9z6t1
16分钟前
9
0
(三)学习了解OrchardCore笔记——灵魂中间件ModularTenantContainerMiddleware的第一行①的模块部分

  了解到了OrchardCore主要由两个中间件(ModularTenantContainerMiddleware和ModularTenantRouterMiddleware)构成,下面开始了解ModularTenantContainerMiddleware中间件第一行代码。   ...

osc_kdarxvx0
18分钟前
9
0
50Mn18Cr4V锻锻环件

电机无磁护环怎么锻性能才能《高高》?50Mn18Cr4V高锰无磁钢在变形温度为900~1 100℃、应变速率为0.1 ~10s-1条件下的热变形行为. 结果,VC第二相的应变诱导析出对50Mn18Cr4V的热变形行为产生...

无磁钢
18分钟前
16
0
【遇见offer】一汽-大众实习生专场来啦!成长+学习+福利,一个也不能少~

在上次一汽-大众的社招直播之后,实习生的专场招聘也终于来啦! 针对2020年暑期,我们提供了非常多的实习岗位给大家选择。 如果你想得到大厂实习的宝贵经验,如果你想得到更快速的成长,如果...

osc_b88oux8w
19分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部