Esta é a primeira vez que escrevo bash, então provavelmente estou cometendo um erro fácil.
Basicamente, estou tentando escrever um script que obtenha os grupos de um usuário e, se eles estiverem em um determinado grupo, registrará isso de acordo. Evidentemente, haverá mais funcionalidades, mas não adianta criar isso quando eu nem consigo fazer o regex funcionar!
Até agora, eu tenho o seguinte:
#!/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
Em todo lugar que eu tentei esse regex, ele funciona. Mas no script bash, ele apenas gera o $groups
, seguido por No match
. Então, alguém pode me dizer o que há de errado com isso?
^([a-zA-Z0-9\-_]+)
depois adicione os dois pontos e assim por diante ... você deve descobrir em breve, onde está o problema.