PDA

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

lobo
06-04-2003, 18:34
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,
_

phate
06-04-2003, 22:38
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.