Archiv verlassen und diese Seite im Standarddesign anzeigen : pppx ip aus ifconfig
tuxipuxi
06-04-2003, 18:11
Hallo leute,
ich schreibe gerade ein skript fuer iptables und brauche darin meine ip.
ich hab auch schon beispiele gesehen( u.a. in der skriptsprachen faq ) aber das hilft mir nicht so recht, bei mir ist es naemlich speziell:
ich habe nicht immer ppp0 sondern auch mal ppp1 ( ppp2 ), also muss das skript herausfinden welches interface gerade geladen ist.
das skript soll NUR die ip ausgeben, und ich hab n brett vorm kopf :) .
Waere sehr erfreut wenn mir einer helfen koennte.
Gruss tuxipuxi
Hi.
Ich habe gerade mal etwas gebastelt.
ifconfig -a | grep -A1 ppp | tr -d '\n' | awk '{ print $6; }' | sed 's/addr://'
Kannst ja mal testen ob das bei dir funktioniert.
Gruss
Jochen
tuxipuxi
06-04-2003, 18:49
*freu* super danke ... grrroosseess danke genau das brauch ich :)...
gruss tuxipuxi
tuxipuxi
06-04-2003, 18:56
hi,
ich scheine irgendwie einen fehler zu machen, also ich baue das so in mein skript ein:
IPADRESS=`ifconfig -a | grep -A1 ppp | tr -d '\n' | awk '{ print $6; }' | sed 's/addr://'`
als output wenn ich das skript ausfuehre bekomme ich:
[root@localhost iptables]# ./firewall
Warning: wierd character in interface `-p' (No aliases, :, ! or *).
Bad argument `tcp'
Try `iptables -h' or 'iptables --help' for more information.
hab ich das irgendwie falsch uebernommen?
gruss tuxipuxi
anda_skoa
06-04-2003, 19:12
Probiers mal aus.
Bei mir muss es zB $7 beim print sein.
Ciao,
_
Ohne dass Du Dich auf die genaue Position der Adresse in und der Sprache der Ausgabe von ifconfig verlassen musst
/sbin/ifconfig -a | grep -A1 ppp | perl -ne 'print $1 if /add?r(?:esse)?:([0-9.]+)/i;'
Das stellt zumindest mal sicher, dass das was in Deiner IPADRESS Variable stehen hast auch die IP-Adresse ist.
Solltest Du einen Syntaxfehler in Deinem Skript haben, wird das denoch nicht helfen. Falls dies der Fall ist, poste mal Dein Skript.
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.