设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
如何判断一个字符串是不是一个数?
返回列表
查看:
931
|
回复:
8
如何判断一个字符串是不是一个数?
[复制链接]
chenxingchen
chenxingchen
当前离线
积分
606
IP卡
狗仔卡
发表于 2006-1-14 21:43:47
|
显示全部楼层
|
阅读模式
怎么判断啊?
BTW,有没有比较完整一点的bash教程,最好是中文的。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
chenxingchen
chenxingchen
当前离线
积分
606
IP卡
狗仔卡
楼主
|
发表于 2006-1-14 22:13:07
|
显示全部楼层
好像在ksh里可以用
case $a in
([0-9])) 是数时的操作
;;
*) 不是数时的操作
;;
esac
但是在bash里执行出错,不知是bash不支持还是有什么参数要设定?
回复
支持
反对
使用道具
举报
显身卡
千里孤坟
千里孤坟
当前离线
积分
88
IP卡
狗仔卡
发表于 2006-1-14 22:40:23
|
显示全部楼层
可行方法之一:与任意数字相加,根据$?来判断。
回复
支持
反对
使用道具
举报
显身卡
chenxingchen
chenxingchen
当前离线
积分
606
IP卡
狗仔卡
楼主
|
发表于 2006-1-14 23:34:17
|
显示全部楼层
谢谢,我用了一个跟你类似的办法:做了一个test测试,然后测试$?,也可以。
不过有没有简单一点的方法呢?
回复
支持
反对
使用道具
举报
显身卡
alexlee002
alexlee002
当前离线
积分
28
IP卡
狗仔卡
发表于 2006-1-15 11:27:44
|
显示全部楼层
用正则
/^[\d]+$/
回复
支持
反对
使用道具
举报
显身卡
shikelang
shikelang
当前离线
积分
1
IP卡
狗仔卡
发表于 2006-1-16 14:45:25
|
显示全部楼层
shopt -s extglob ##打开bash中扩展的正则表达式
case $a in
+([0-9])) echo "A number."
*) echo "Not a number"
esac
回复
支持
反对
使用道具
举报
显身卡
linux26
linux26
当前离线
积分
27
IP卡
狗仔卡
发表于 2006-1-17 12:27:23
|
显示全部楼层
/^[\d]+$/
复制代码
这个看不太懂 =.=''
回复
支持
反对
使用道具
举报
显身卡
xigualxw
xigualxw
当前离线
积分
106
IP卡
狗仔卡
发表于 2006-1-17 12:59:30
|
显示全部楼层
同5楼,用正则
回复
支持
反对
使用道具
举报
显身卡
jiazhengw
jiazhengw
当前离线
积分
103
IP卡
狗仔卡
发表于 2006-1-17 20:27:23
|
显示全部楼层
五楼的RE好像用得不对,应为/<和\>在两端。
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Redhat/Fedora/CentOS Linux
硬件设备 Linux 驱动
Debian Linux
开源软件专题讨论
Linux 输入开发与研究
SuSE Linux
Ubuntu Linux 专题讨论
Gentoo Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表