Это мой первый раз, когда я использую 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
В каждом месте, где я пробовал это регулярное выражение, это работает. Но в скрипте bash он только выводит $groups
, а затем No match
. Так может кто-нибудь сказать мне, что с ним не так?
^([a-zA-Z0-9\-_]+)
затем добавьте двоеточие и так далее ... вы должны довольно скоро выяснить, в чем проблема.