\d é uma maneira não padronizada de dizer "qualquer dígito". Eu acho que vem do Perl, e muitas outras linguagens e utilitários suportam REs compatíveis com Perl (PCRE) também. (e, por exemplo, o GNU grep 2.27 no Debian stretch suporta os \w semelhantes para caracteres de palavras, mesmo no modo normal.)
O Bash não suporta \d , por isso, você precisa usar explicitamente [0-9] ou [[:digit:]] . O mesmo para o grupo que não captura (?:..) , use apenas (..) .
Isso deve imprimir match :
temp="eu-west 140.243.64.99 "
regexp="([0-9]{1,3}\.)+([0-9]{1,3})"
[[ $temp =~ $regexp ]] && echo match