Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 bash 脚本中进行了这个测试,虽然我有一些模糊的想法,但我想确定到底发生了什么。
if [[ "$FLAGS" =~ -p' '+-?[0-9]+ ]]
我可以说它正在测试一些正则表达式$FLAGS,但我不确定为什么-p需要它。
$FLAGS
-p
一般来说,我想知道-pbash 正则表达式测试中在做什么。(理想情况下,在联机帮助页中查找类似内容的位置。)
在这种情况下,“-p”是正则表达式的一部分。正则表达式正在寻找以下任何模式的匹配项:
-p 123 -p123 -p -123 -p-123
“”和第二个“-”是可选的。
BASH 会将运算符之后的所有内容=~视为正则表达式,因此 BASH 将尝试匹配此正则表达式:
=~
-p' '+-?[0-9]+