regex可在Regex101上使用,但不适用于bash

时间:2019-01-29 16:43:37

标签: linux bash hook

我正在设置一个钩子,我需要评估一个正则表达式,但是我不知道为什么不能在bash中使用正则表达式,我在commit-msg中检查格式

MSG = "$1"
FEAT='(feat)(\:\sRQ)([0-9])+(_)(([A-Z][a-z]+)+)'
if [[ MSG =~ TEST ]]  ; then      
   echo "yeah!!"
else            
echo "oops"
exit 1
fi   

这是有效的提交消息专长:RQ00_Hello

1 个答案:

答案 0 :(得分:0)

我确定\:是不必要的,并且相信bash无法理解\s

PS:顺便说一句,您还需要在第一行的=附近丢失空格...测试中的变量缺少$,并且$ TEST!= $ FEAT