这是我第一次编写 bash 脚本,所以我可能犯了一个简单的错误。
基本上,我正在尝试编写一个脚本来获取用户的组,如果他们在某个组中,它将相应地记录下来。显然会有更多的功能,但是当我什至无法让正则表达式工作时,构建它是没有意义的!
到目前为止,我有这个:
#!/bin/bash
regex="^([a-zA-Z0-9\-_]+ : [a-zA-Z0-9\-_]+) (usergroup)$"
# example output
groups="username : username usergroup"
echo "$groups" >> /home/jrdn/log
if [[ "$groups" =~ $regex ]]; then
echo "Match!" >> /home/jrdn/log
else
echo "No match" >> /home/jrdn/log
fi
Run Code Online (Sandbox Code Playgroud)
我尝试过该正则表达式的每个地方,它都有效。但是在 bash 脚本中,它只输出$groups
, 后跟No match
. 那么有人可以告诉我它有什么问题吗?