2 abuserbig AbuserBIG 于 2016.01.21 11:54 提问

shell编程中if [[ ! ${a} =~ ^[0-9]+ ]]条件判断式如何工作的?

if [[ ! ${a} =~ ^[0-9]+ ]]这个语句具体是怎么工作的?
我只知道这个好像是如果变量a不是以数字开头就执行if语句,但是
特别的:

  1. =~是什么意思?
  2. ^[0-9]+ 是什么意思? 另外这个判断使用的是扩展正则表达式?

3个回答

caozhy
caozhy   Ds   Rxr 2016.01.21 18:20

这里只有
^[0-9]+是正则表达式,表示一个数字,别的都不是正则。

caozhy
caozhy   Ds   Rxr 2016.01.21 18:20

只是原样的字符

lettangyuanfly
lettangyuanfly   2016.01.23 21:05

=~意思是匹配后面的正则式,^是匹配开头,[0-9]意思是匹配0-9的字符也就是数字,+是指匹配不少于一次,也就是有不少于一个数字

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!