IP-Adresse
Heute stellte sich mir die Frage, wie stelle ich am einfach die IP-Adresse des Rechners unter Linux fest. Eine Google-Suche führte zu Forenbeitrag mit immer neuen Vorschlägen bis hin zu Laufzeitvergleichen der Vorschläge. Wenn Linux Shell Freak in Fahrt kommen, kann sie keiner halten. Wahrscheinlich werden die gesparten Milli-Sekunden sich im Laufe der Jahre zu einen deutlichen Gewinn an Lebenszeit summieren.
Die Frage ist außerdem nicht ganz präzise. Er Rechner hat immer die Loopback Adresse 127.0.0.1. Ein Rechner kann mehrere Netzwerkkarten haben, die wiederum mehrere IP-Adressen haben können. Im letzteren Fall erhalten die Netzwerkkarten allerdings zusätzliche Namen wie beispielsweise eth0:0, eth0:1. Ein VPN-Tunnel erzeugt eine virtuelle Netzwerkkarte mit einer eigenen IP-Adresse. Damit stellt sich die Frage: Welche IP-dresse hätten Sie denn gerne?
Beschränken wir uns auf zwei Fälle: Der Gerätename ich bekannt und alle IP-Adressen.
Anmerkung: Mein Rechner verwendet eine Netzwerkbrücke, deshalb ist die erste Adresse an br0 statt eth0 gebunden.
Bourne Again Shell (bash)
Fall 1:IP-Adresse eines Gerätes
u1@r1:~> /sbin/ifconfig br0 | sed -n '/inet Adresse:/ { s# *inet Adresse:##; s# .*##p }' 192.168.2.197
Fall 2: IP-Adresse aller Geräte
Wird der Gerätename br0 weg gelassen, liefert der Befehl eine Liste aller Adressen.
u1@r1:~> /sbin/ifconfig | sed -n '/inet Adresse:/ { s# *inet Adresse:##; s# .*##p }' 192.168.2.197 192.168.200.1 127.0.0.1
Wer eine andere Sprachlokalisation verwendet, muss hier den Teil “inet Adresse” anpassen. Ich nehme mir jetzt nicht die Zeit, dies zu Internationalisieren.
Gambas
Hier hab ich noch keine Lösung gefunden.
Windows
Unter Windows ist die Sache nicht ganz so einfach, da so schöne Tools wie sed dort im Allgemeinen nicht installiert sind. Aber wenn interessiert Windows.