29.01.2026, 01:53
für mich ist es jetzt hier an der stelle noch " Guten Abend "
Ich schlage mich gerade mich einem Problem rum, was zwei meiner Server betrifft.
der kleine "Ubuntu 22.04.5 LTS" VServer und der GROSSE "Debian GNU/Linux 13 (trixie)"
Mein vorhaben war, in einem bash script die system IP sicher zu ermitteln. mein erster Ansatz war der folgende
Debian Liefert das richtige Ergebnis, Unbuntu leider nur eine leere Zeile.
bei dem kleinen bekam ich die richtige antwort erst bei print $5 anstelle von print $7
ich habe danach raus bekommen, das Debian und Ubuntu da etwas anders die Daten zusammen setzen. Und deswegen bin ich auf eine zweite variante umgestiegen
Hier klaptt es jetzt...
Da ich aber jemand bin, der immer eine "Fallback" Möglichkeit haben möchte, habe ich folgendes versucht.
... und schon wieder baut der Ubuntu VServer misst, und gibt an der stelle "127.0.0.1" aus. Erst an stelle zwei $2 ist die richtige IP. der Debian machte es auf Anhieb richtig unter $1 richtig.
was ich jetzt suche ist, eine Saubere, einfache Lösung, das ich beiden Systemen sage, prüfe deine Ausgabe. und wenn diese 127.0.0.1 sein sollte, nehme die nächste $2.
Oder ganz anderes eben, um sicher zu stellen, das beide das gleiche Ergebnis liefern, also Ihre IP nach aussen !
... nochmal Oder soll ich mit dem Ergebnis zufrieden sein, und als gegeben hinnehmen ohne Fallback. den eigentlich sollten jetzt beide "immer" ein sauberes Ergebnis liefern.
Probiert doch gerne bei euch mal den Befehl
aus, und geb mir mit einem System Info dazu euer Ergebnis.
...
Ich schlage mich gerade mich einem Problem rum, was zwei meiner Server betrifft.
der kleine "Ubuntu 22.04.5 LTS" VServer und der GROSSE "Debian GNU/Linux 13 (trixie)"
Mein vorhaben war, in einem bash script die system IP sicher zu ermitteln. mein erster Ansatz war der folgende
Code:
ip route get 1.1.1.1 2>/dev/null | awk '{print $7; exit}'bei dem kleinen bekam ich die richtige antwort erst bei print $5 anstelle von print $7
Code:
ip route get 1.1.1.1 2>/dev/null | awk '{print $5; exit}'ich habe danach raus bekommen, das Debian und Ubuntu da etwas anders die Daten zusammen setzen. Und deswegen bin ich auf eine zweite variante umgestiegen
Code:
ip route get 1.1.1.1 2>/dev/null | awk '{for (i=1;i<=NF;i++) if ($i=="src") print $(i+1)}'Hier klaptt es jetzt...
Da ich aber jemand bin, der immer eine "Fallback" Möglichkeit haben möchte, habe ich folgendes versucht.
Code:
hostname -I | awk '{print $1}'... und schon wieder baut der Ubuntu VServer misst, und gibt an der stelle "127.0.0.1" aus. Erst an stelle zwei $2 ist die richtige IP. der Debian machte es auf Anhieb richtig unter $1 richtig.
was ich jetzt suche ist, eine Saubere, einfache Lösung, das ich beiden Systemen sage, prüfe deine Ausgabe. und wenn diese 127.0.0.1 sein sollte, nehme die nächste $2.
Oder ganz anderes eben, um sicher zu stellen, das beide das gleiche Ergebnis liefern, also Ihre IP nach aussen !
... nochmal Oder soll ich mit dem Ergebnis zufrieden sein, und als gegeben hinnehmen ohne Fallback. den eigentlich sollten jetzt beide "immer" ein sauberes Ergebnis liefern.
Probiert doch gerne bei euch mal den Befehl
Code:
ip route get 1.1.1.1 2>/dev/null | awk '{for (i=1;i<=NF;i++) if ($i=="src") print $(i+1)}'aus, und geb mir mit einem System Info dazu euer Ergebnis.
...
niemand ist eine Insel, und Selbsthilfe heißt nicht sich nur um sich zu kümmern. www.vamp-berlin.de www.grid-berlin.de


![[-]](https://www.gridtalk.de/images/collapse.png)