[Gelöst] grep oder sed für firmware_info

Bonvie

Neuer User
Mitglied seit
15 Dez 2008
Beiträge
116
Punkte für Reaktionen
1
Punkte
18
Hallo an alle,
ich versuche mich gerade daran die Firmware Version zu ermitteln und in eine Variable zu schreiben.
Mit der aktuellen IP-Adresse hat durch einige Beispiele hier aus dem Forum geklappt.
Code:
MY_IP=$(/sbin/showdsldstat | sed -e "/0: IPv4: ip /!d" | sed -e "s/.*0: IPv4: ip \([0-9.]*\).*/\1/" | sed -e "\$!d")
Aber bei der Firmware-Version stehe ich auf dem Schlauch. Meine gescheiterten Versuche:
Code:
cat /proc/sys/urlader/environment | grep -w firmware_info | | sed -e "s/\(.*\)\(,.*\)/\1/g"
cat /proc/sys/urlader/environment | grep -w firmware_info | grep -e '[d\].[d\].[d\]' -o
Hat jemand einen Tipp für mich?
 
Zuletzt bearbeitet:
Ja, nimm einfach die Ausgabe von /etc/version ... da hast Du sie frei Haus und es ist tatsächlich dieselbe wie in "firmware_info", denn die wird bei jedem Start in /etc/initd./S01-head ohnehin genau mit /etc/version ermittelt und in das Urlader-Environment geschrieben.
 
Moins


Ich mag grep.

Direkt aus der "Quelle" sieht dann so aus...
Code:
cat /proc/sys/urlader/environment | grep -o -E "[0-9]{3,3}[.]{1,1}[0-9]{2,2}[.]{1,1}[0-9]{2,2}"
...aber auf eine Kopie davon reicht vollkommen aus...
Code:
cat /var/env | grep -o -E "[0-9]{3,3}[.]{1,1}[0-9]{2,2}[.]{1,1}[0-9]{2,2}"
...,oder? ;)

Den kannst du auch auf den AVM-Webserver loslassen...
Code:
wget -q -O- http://localhost/jason_boxinfo.xml | grep -o -E "[0-9]{3,3}[.]{1,1}[0-9]{2,2}[.]{1,1}[0-9]{2,2}"


IPs :gruebel:
...heutzutage vielleicht vollständigkeitshalber auf IPv4 und/oder IPv6 checken?

Auf der Box geht sowas ganz simpel hab hier noch so ein CGI (Shellskript), dass nimmt ctlmgr_ctl...
myip.cgi
Code:
#!/bin/sh
local MYIP4ADDR=$([COLOR=#ff0000]ctlmgr_ctl r dslstatistic status/ifacestat0/ipaddr[/COLOR])
local MYIP6ADDR=$([COLOR=#ff0000]ctlmgr_ctl r ipv6 settings/ip[/COLOR])

chkip4 () {
if [ "${1}" != "$(cat 2> /dev/null MYIP4ADDR)" ]
then
echo "Neue IPv4, aktualisiere..."
echo -ne $1 > MYIP4ADDR
fi
echo "IPv4: "$MYIP4ADDR
}

chkip6 () {
if [ "${1}" != "$(cat 2> /dev/null MYIP6ADDR)" ]
then
echo "Neue IPv6, aktualisiere..."
echo -ne $1 > MYIP6ADDR
fi
echo "IPv6: "$MYIP6ADDR
}

echo 'Content-Type: text/plain;Charset="UTF-8"
'
chkip4 $MYIP4ADDR
chkip6 $MYIP6ADDR
#EOF
...einmal ausgeführt werden die IPs in zwei Textdateien geschrieben,
und beim nächsten Aufruf damit verglichen.
 
Zuletzt bearbeitet:
Kleiner Hinweis am Rande, weil gerade im Freetz wieder ein Problem mit einer anderen Variante von "dd" aufgetaucht ist ... die Unterstützung der erweiterten Regex-Syntax beim grep aus der Busybox ist optional und kann zur Compile-Time durchaus ausgeschaltet werden. Wenn man das verwenden will, sollte man immer vorher sicherstellen, daß diese Syntax unterstützt wird oder gleich auf die einfache Variante zurückgreifen, wenn das Ziel damit genauso zu erreichen ist.
 
Super und danke an beide.
@PeterPawn: Danke für deine erneute Hilfe, ich muss wohl demnächst mal eine Zehnerkarte deiner helfenden Antworten ziehen.
@koyaanisqatsi: Danke für die Skripte, die ich mir nochmal tiefer anschauen muss um sie zu durchdringen.
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,868
Beiträge
2,219,773
Mitglieder
371,585
Neuestes Mitglied
PauSchmitz
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.