Hi Norman, On Sun, Mar 14, 2004 at 07:17:26PM +0100, Norman Zimmer wrote: > ich versuche gerade von meiner Linuxkiste in einem Skript die Netzadresse > rauszufinden. > Gibt es da bereits eine Lösung? Ich hab leider nichts richtiges gefunden. Falls keine bessere Lösung kommt, wäre hier ein Vorschlag, der den umständlichen aber korrekten Weg über die UND-Verknüpfung von Host-Addresse und Netzmaske geht. Sicher hätte man das Ganze noch kürzen können, aber ich denke es würde dann sehr schwer lesbar werden. #! /bin/sh adhost=$(LC_ALL=C ifconfig eth2|grep inet|cut -f 2 -d ":"|cut -f 1 -d " ") admask=$(LC_ALL=C ifconfig eth2|grep inet|cut -f 4 -d ":" ) ad1=$(($(echo $adhost.$admask |cut -f 1,5 -d "."|sed -e 's:\.: \& :'))) ad2=$(($(echo $adhost.$admask |cut -f 2,6 -d "."|sed -e 's:\.: \& :'))) ad3=$(($(echo $adhost.$admask |cut -f 3,7 -d "."|sed -e 's:\.: \& :'))) ad4=$(($(echo $adhost.$admask |cut -f 4,8 -d "."|sed -e 's:\.: \& :'))) netzaddr="$ad1.$ad2.$ad3.$ad4" echo Die Netzadresse ist $netzaddr'!' Falls Dich die genaue Funktionsweise interessiert: Erst werden die beiden Adressen aus ifconfig gespeichert, danach werden in 4 Zeilen jeweils die beiden Adressen hintereinandergeschrieben an "cut" übergeben und der erste, zweite, usw. Block der beiden Adressen herausgetrennt. Das Trennzeichen ist dabei ein Punkt, der wird durch die Folge Leer-Ampersand-Leer ersetzt und mit $(( )) wird der resultierende Binärausdruck ausgewertet, die vier Ergebnisse bilden dann die komplette Netzwerkadresse. HTH, Rainer P.S. Zur Not tut's auch ein kurzes: route -n|grep eth0|grep -v "^0.0.0.0"|cut -f 1 -d " " Dieses Kommando versagt aber bei komplexeren Routingtabellen.