Je travaille beaucoup sur des machines virtuelles, et j'ai plusieurs scripts pour m'aider à les configurer rapidement. Je pourrais entièrement automatiser la mise en route d'une VM sans tête, sauf que j'ai besoin de connaître l'IP de ma machine hôte pour configurer les trucs VNC.
J'utilise l'une des deux commandes suivantes pour obtenir l'adresse IP actuelle :
ipconfig getifaddr en1 # For IP address assigned to wireless
ipconfig getifaddr en0 # For IP address assigned to ethernet
Le problème est que je dois indiquer à mon script s'il doit utiliser en0 ou en1. J'utilise le sans fil à la maison et l'ethernet au travail, je ne peux donc pas faire d'hypothèse.
Je pourrais utiliser :
ifconfig | grep '192'
et analyser la ligne résultante (le travail et la maison attribuent des adresses de classe C), mais je préférerais ne pas avoir à le faire.
Existe-t-il un moyen de déterminer quelle carte réseau est actuellement connectée au réseau à partir de la ligne de commande ? Ou du moins un meilleur moyen de déterminer l'IP de l'hôte ?
Ma machine utilise Mountain Lion, si c'est pertinent.