Начнем с вашего примера: if [SubjectUserName] =~ [A-Z]+\$ {
.
Это на самом деле означает: Проверьте, происходит ли где-нибудь в SubjectUserName
:
[A-Z]+
- непустая последовательность букв,
\$
- и затем символ доллара.
Как до, так и после этого совпадения может встречаться любой другой текст.
Так что если вы хотите, чтобы только проверял наличие символа доллара, где-нибудь
в указанном поле регулярное выражение должно быть:
if [SubjectUserName] =~ \$ {