Você está usando '
em awk '/^Nmap/{ip=$NF}/$MY_MAC/{print ip}'
.
'
não expande as variáveis shell, então $MY_MAC
nesse caso é literalmente a string $MY_MAC
.
Você pode usar aspas duplas para expandir a variável
IP=$(sudo nmap -sP $MY_LOCAL_IP_SUBNET | awk "/^Nmap/{ip=$NF}/$MY_MAC/{print ip}")
mas isso entrará em conflito com $NF
do awk.
Portanto, use o sinalizador -v
para adicionar uma variável awk
e use $0~mymac
para corresponder à linha atual com o padrão em mymac
IP=$(sudo nmap -sP $MY_LOCAL_IP_SUBNET | awk -v mymac="$MY_MAC" '/^Nmap/{ip=$NF}$0~mymac{print ip}')