Voici un script qui permet d'afficher les adresses IP (v4) de toutes les interfaces réseau installées sur la machine.
Exécution :
$ ./getInetAddr.sh
eth0 ==> 10.33.43.10
lo ==> 127.0.0.1
wlan0 ==> 172.22.8.35
Ce script est disponible en téléchargement ici .
Egalement disponible via GIT :
$ git clone http://git.quennec.fr/ronan/scripts_pub.git
Détail du script commenté :
#!/bin/bash
# Ce script retourne l'adresse IP
# de chaque interface réseau trouvée
# Pour le debuggage
#set -x
# Initialisation de la variable PATH
PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
# Nom du script
BASE=`basename $0`
# Le répertoire du script
DIR=`dirname $0`
# On boucle sur toutes les différentes interfaces trouvées
for I in `\
# On exécute la commande ifconfig
ifconfig | \
# On récupère le nom des différentes interfaces
# Le nom des interfaces se trouve dans la première
# colonne des informations retournées par la commande ifconfig
cut -d' ' -f1 | \
# On supprime toutes les lignes vides
sed -e '/^$/d'`; do
# On affecte à la variable J l'adresse IP correspondante
# à l'interface en cours de traitement par la boucle I
J=$(\
# On exécute la commande ifconfig pour l\'interface
# en cours de traitement par la boucle I
ifconfig $I | \
# On récupère la partie contenant l\'adresse IP
grep -E -o 'inet add?r:([0-9]{1,3}\.){3}[0-9]{1,3}' | \
# On concerve uniquement la partie IP
cut -d':' -f2 \
# On affiche le résultat
# sous la forme nomInterface ==> adresseIp
) && printf "%-10s ==> %15s\n" $I $J
done
# On quitte le script
exit 0