小编Suu*_*hgi的帖子

bash 正则表达式匹配在 [[ ]] 中失败

我想通过以下方式检查用户是否在某个组中

[[ "$(getent group groupname)" =~ \busername\b ]]
Run Code Online (Sandbox Code Playgroud)

但这不起作用(bash 5.0.3)虽然以下有效:

getent group groupname | grep -E "\busername\b"
Run Code Online (Sandbox Code Playgroud)

我注意到反斜杠似乎在某个地方被吞了

bash -cx '[[ "$(getent group groupname)" =~ \busername\b ]]'
++ getent group groupname
+ [[ groupname:x:24:username =~ busernameb ]]
Run Code Online (Sandbox Code Playgroud)

但这也可能是-x.

任何人都可以解决这个问题吗?:-)

bash regular-expression

5
推荐指数
1
解决办法
332
查看次数

标签 统计

bash ×1

regular-expression ×1