A maneira preguiçosa é apenas correr
if [[ $mac_address == ??:??:??:??:??:?? ]]; then echo Heureka; fi
mas isso não verifica se é uma string hexadecimal. Então, se isso é importante
if [[ $mac_address =~ ^[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]:[0-9a-fA-F][0-9a-fA-F]$ ]]; then echo Heureka; fi
pode ser melhor. O último pode ser encurtado para
if [[ $mac_address =~ ^([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}$ ]]; then
echo Heureka;
fi
Se o padrão corresponder, não vejo a necessidade de verificar o comprimento correto também.