Acho que uma resposta awk
pode ser um pouco mais rápida, pois não será necessário adicionar subshells extras:
ip addr show | awk -F: '/^[0-9]/ {dev=$2} /inet .*\.112/ {print dev; exit}'
Outra possibilidade, se você souber um endereço que seria roteado para fora da interface, como se houvesse um gateway no endereço .1
que você poderia fazer
ip route get a.b.c.1 | cut -f3 -d' '
Em geral, ip
é o comando mais recente que deve substituir ifconfig
, embora isso já seja verdade há muito tempo e ifconfig
ainda não foi eliminado, mas veja esta questão de falha do servidor sobre o tópico.