怎么理解 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