Bonsoir,
Le 28/08/2013 19:05, Marc a écrit :
> Bonjour,
>
>
> Je cherche à récupérer l'adresse du réseau et le mask dans un script
>
> bien sur, je peux faire ça avec une commande du genre :
>
> route -n|grep '^[0-9]'|grep -v '^0.0.0.0'|grep -v '^169.254.0.0'|tr -s '
> '|cut -f1 -d' '
>
> et la même chose pour le masque avec '-f3'
>
> mais il y a peut-être une commande plus élégante
>
> une idée ?
Tu connais le nom de l'interface réseau à surveiller ?
Si c'est le cas, et pour INTERFACE=xxxx :
Réseau :
INTERFACE=eth0; /sbin/route -n|sed -e '/'$INTERFACE'$/!d' -e
'/^0\.0\.0\.0/d' -e 's/^\([^ ]\+\) .*/\1/g'
Masque :
INTERFACE=eth0; /sbin/route -n|sed -e '/'$INTERFACE'$/!d' -e
'/^0\.0\.0\.0/d' -e 's/^\([^ ]\+ \+\)\{2\}\([^ ]\+\) \+.*/\2/g'
255.255.255.0
C'est à priori plus efficace, car "sed" n'est appelé qu'une seule fois.
ASTUCE: sed -e '/xxxxx/!d' est l'équivalent d'un "grep 'xxxxx'
Cordialement,
Olivier
--
~~~~~~~ _____/\_____ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix / _ \/ _ \ Olivier Allard-Jacquin
/ / \ / \ \ Web: http://olivieraj.free.fr/
/___/ / \ \___\ Mail: olivieraj@???
~~~~ ///// ///\\\ \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!