0

我在 bash 脚本中进行了这个测试,虽然我有一些模糊的想法,但我想确定到底发生了什么。

if [[ "$FLAGS" =~ -p' '+-?[0-9]+ ]] 

我可以说它正在测试一些正则表达式$FLAGS,但我不确定为什么-p需要它。

一般来说,我想知道-pbash 正则表达式测试中在做什么。(理想情况下,在联机帮助页中查找类似内容的位置。)

4

2 回答 2

4

在这种情况下,“-p”是正则表达式的一部分。正则表达式正在寻找以下任何模式的匹配项:

-p 123
-p123
-p -123
-p-123

“”和第二个“-”是可选的。

于 2013-10-25T07:10:11.610 回答
0

BASH 会将运算符之后的所有内容=~视为正则表达式,因此 BASH 将尝试匹配此正则表达式:

-p' '+-?[0-9]+
于 2013-10-25T07:09:59.790 回答