Linux学习之bash学习之在bash中=和=~的区别

5 篇文章 0 订阅

怎么理解 bash [[]] 判断中的 = 和 =~ 这2个判断呢??

if [[ 23ab = *ab ]] ; then echo yes; fi

[[$a=~$b]] 是正则表达式匹配。在这种语法中,*匹配前一个字符或模式的0-n个实例。是正则表达式
if [[ 23ab =~ [0-9]{1,2}ab ]] ; then echo yes; fi

 是一个glob的模式匹配。在此语法中,*匹配任何类型的0-n个字符。 和正则还是有点区别的。https://en.wikipedia.org/wiki/Glob_(programming)

其他补充

关于 glob-style pattern 和 regualar expression 的区别:
https://stackoverflow.com/questions/23702202/what-are-the-differences-between-glob-style-pattern-and-regular-expression

http://teaching.idallen.com/cst8207/15w/notes/190_glob_patterns.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值