免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1596 | 回复: 5
打印 上一主题 下一主题

fedora13 正则匹配问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-09 22:03 |只看该作者 |倒序浏览
我用的fedora13  bash版本是4.1.2
通过echo $SHELL 和 echo $0 确认当前使用的是bash。
终端或者脚本中执行
[[ "123456" =~ '^[0-9]{1,}$' ]] && echo 0 || echo 1
终端一直都是打印1 且没有任何报错信息.

同样的命令在centos 下可以正确执行,bash版本是3.2.5

后来将fedora13的bash 升级到4.1.7执行上述命令结果还是一样.

测试 [[ "1" =~ '1' ]] && echo 0 || echo 1 输出0 命令正常执行,加上正则表达式就不行.

查阅资料说 =~ 正则表达式匹配操作要求 bash 版本大于3

请各位高手指点可能是什么问题?

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
2 [报告]
发表于 2010-10-09 22:09 |只看该作者
shell@localhost:~$ echo $0
bash
shell@localhost:~$
shell@localhost:~$
shell@localhost:~$ [[ "123456" =~ '^[0-9]{1,}$' ]] && echo 0 || echo 1
1
shell@localhost:~$
shell@localhost:~$
shell@localhost:~$ lsb_release -a
No LSB modules are available.
Distributor ID:        Debian
Description:        Debian GNU/Linux 5.0.6 (lenny)
Release:        5.0.6
Codename:        lenny
shell@localhost:~$

论坛徽章:
0
3 [报告]
发表于 2010-10-09 22:12 |只看该作者
回复 1# face0105

刚刚在FreeBSD8.1 下也测试了下,FreeBSD8.1 bash版本 4.1.7 结果与fedora13一样,难道会是bash版本问题... ...

论坛徽章:
0
4 [报告]
发表于 2010-10-09 22:17 |只看该作者
回复 2# shang2010

shang2010 谢谢您的关注,方便看下您的debian 的bash版本吗? 现在考虑会不会是bash版本的问题,
在fedora12下是正常的,不过fedora12的bash版本是多少记不太清楚了.

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
5 [报告]
发表于 2010-10-09 22:23 |只看该作者
shell@localhost:~$
shell@localhost:~$ dpkg -l bash
期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 当前状态=未(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/保持(H)/须重装(R)/两者兼有(X) (状态,错误:大写=故障)
||/ 名称         版本         简介
+++-==============-==============-============================================
ii  bash           3.2-4          The GNU Bourne Again SHell
shell@localhost:~$
shell@localhost:~$
shell@localhost:~$

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2010-11-19 23:31 |只看该作者
我用的fedora13  bash版本是4.1.2
通过echo $SHELL 和 echo $0 确认当前使用的是bash。
终端或者脚本中执 ...
face0105 发表于 2010-10-09 22:03



    在fedora 11中一切正常。
$ [[ "123456" =~ '^[0-9]{1,}$' ]] && echo 0 || echo 1
0
$ bash --version
GNU bash, version 4.0.23(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP