smalchi Geschrieben 18. Juni 2002 Geschrieben 18. Juni 2002 Hi, ich hab folgendes Problem: Ich muss in einem BASH-Skript das zweite Oktett der IP-Adresse auswerten. 1.Frage: mit welchem befehl kann ich die IP-Adresse in eine Variable schreiben? 2. Frage: wie kann ich dann das zweite Oktett allein betrachtet, bzw. auswerten?? thx Zitieren
DanielB Geschrieben 18. Juni 2002 Geschrieben 18. Juni 2002 z.B. so : #!/bin/bash INTERFACE="eth0" IP=`/sbin/ifconfig $INTERFACE | /usr/bin/grep "inet" | /usr/bin/awk -F ":" '{print $2}' | \ /usr/bin/awk '{print $1}'` OCTET=`echo $IP | /usr/bin/awk -F "." '{print $1}'` echo $IP echo $OCTET Falls Du dazu Fragen hast, frag einfach Zitieren
Sumpfbiber Geschrieben 19. Juni 2002 Geschrieben 19. Juni 2002 Original geschrieben von DanielB z.B. so : #!/bin/bash INTERFACE="eth0" IP=`/sbin/ifconfig $INTERFACE | /usr/bin/grep "inet" | /usr/bin/awk -F ":" '{print $2}' | \ /usr/bin/awk '{print $1}'` [/b] Hi, ich hab da ne Frage. Warum awk'st du noch mal und druckst $1. Du hast doch di IP mit dem ersten awk schon ausgelesen? Gruss Sumpfbiber Zitieren
nic_power Geschrieben 19. Juni 2002 Geschrieben 19. Juni 2002 Das geht auch deutlich kürzer, wenn man als Trenner den "." verwendet: #!/bin/sh INTERFACE=eth0 OC=`/sbin/ifconfig $INTERFACE | /usr/bin/grep "inet" | /usr/bin/awk -F "." '{print $2}'` Aber Du solltest Dir im klaren drueber sein, dass der Code nicht portable ist und so nur auf einer Linux-Maschine sinnvolle Werte ausspuckt. Alternativ kannst Du auch "hostname --ip-address" verwenden. Nic Zitieren
Sumpfbiber Geschrieben 19. Juni 2002 Geschrieben 19. Juni 2002 dann hat sich meine Frage erledigt. Ich habs auf Solaris getestet Zitieren
smalchi Geschrieben 19. Juni 2002 Autor Geschrieben 19. Juni 2002 Jungs ihr seid grossartig.... funzt traumhaft gut... glorreich!! :D Zitieren
DanielB Geschrieben 19. Juni 2002 Geschrieben 19. Juni 2002 Original geschrieben von nic_power Das geht auch deutlich kürzer, wenn man als Trenner den "." verwendet: #!/bin/sh INTERFACE=eth0 OC=`/sbin/ifconfig $INTERFACE | /usr/bin/grep "inet" | /usr/bin/awk -F "." '{print $2}'` Nic Funktioniert allerdings nicht, wenn anstatt des 2. Octets das 1. Octet ausgegeben werden soll. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.