Veröffentlicht 18. Juni 200223 j 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
18. Juni 200223 j 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
19. Juni 200223 j 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
19. Juni 200223 j 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
19. Juni 200223 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.