BASH – IP-Adresse auslesen

Es gibt viele verschiedene Möglichkeiten, mittels BASH die IP-Adresse eines Systems zu ermitteln. Einige möchte ich hier vorstellen. Je nach Funktionsumfang des Systems bietet sich die eine oder andere Lösung sicherlich an.

Möglichkeit 1: hostname

Der wohl einfachste Weg, welcher leider nicht von jedem Betriebssystem unterstützt wird geht über den Befehl „hostname“:

hostname --ip-address

Möglichkeit 2: ifconfig

Mittels des Befehls ifconfig werden alle Netzwerkadapter mit den zugehörigen IP-Adressen angezeigt. Folgender Befehl zeigt die erste IP-Adresse aus der Liste (wobei loopback Adressen die mit 127 beginnen ausgeblendet werden).

LANG=C ifconfig \
| grep "inet addr:" \
| grep -v "127\.[0-9]\+\.[0-9]\+\.[0-9]\+" \
| cut -d":" -f2 \
| cut -d" " -f1 \
| head -n1

Erklärung:

  1. LANG=C ifconfig – Ausgabe der Netzwerkadapter zusammen mit ihren IP-Adressen
  2. grep „inet addr:“ – Filter auf den Begriff „inet addr:“ in der Ausgabe
  3. grep -v „127\.[0-9]\+\.[0-9]\+\.[0-9]\+“ – Ignoriert loopback Adressen
  4. cut – Zuerst wird die Ausgabe an dem erstem Doppelpunkt (:) geschnitten.
  5. cut – Danach an dem erstem Leerzeichen
  6. head – Die erste IP-Adresse wird zurück gegeben. Sollen alle IP-Adressen angezeigt werden, kann dieser Befehl weg gelassen werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.