我在bash脚本中进行了这个测试,虽然我有一些模糊的想法,但我想确定到底发生了什么。
if [[ "$FLAGS" =~ -p' '+-?[0-9]+ ]]
我可以说它正在$FLAGS
上测试一些正则表达式,但我不确定为什么需要-p
。
一般来说,我想知道bash正则表达式测试中-p
做了什么。 (理想情况下,在联机帮助页中查找类似内容的位置。)
答案 0 :(得分:4)
“ - p”在此上下文中是正则表达式的一部分。正则表达式正在寻找以下任何模式的匹配:
-p 123
-p123
-p -123
-p-123
“”和第二个“ - ”是可选的。
答案 1 :(得分:0)
BASH会将{{>> =~
运算符之后的所有内容视为正则表达式,因此BASH会尝试匹配此正则表达式:
-p' '+-?[0-9]+