Здравствуйте! Принимайте новенького.
Пишу простенькую Bash-функцию проверки наличия IP-адреса или шаблона, которому он соответствует, в файле hosts.allow.
Так работает:...
function isAllowed() {
awk '("'$1'" ~$2) && ($2 != "") {print $2}' /etc/hosts.allow
}
isAllowed 192.168.0.100
..., но ищет шаблон в любой части IP-адреса, а нужно - только в начале. Т.е. если в hosts.allow присутствует шаблон 168.0. ,то он будет соответствовать IP-адресу 192.168.0.100, что не правильно.
Добавляю символ ^ в регулярное выражение, т.е. меняю ~$2 на ~^$2 и получаю ошибку:
awk: ("192.168.0.100" ~^$2) && ($2 != "") {print $2}
awk: ^ syntax error
awk: ("192.168.0.100" ~^$2) && ($2 != "") {print $2}
awk: ^ syntax error
awk: ("192.168.0.100" ~^$2) && ($2 != "") {print $2}
awk: ^ syntax error