Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm mit Parameter ausführen, der noch ausgelesen werden muss
Stingray0481
03-07-2001, 17:21
Hi,
Ich habe mir smswebde (verschickt SMS über das Web.de Portal) installiert. Nun möchte ich, dass beim starten einer Internetverbindung (T-DSL) ein Script ausgeführt wird (via ip-up), das mir die aktuelle IP-Adresse auf mein Handy schickt.
Die IP-Adresse kann ich mit
"ifconfig ppp0 | grep inet|cut -d : -f 2 | cut -d \ -f 1" auslesen, smswebde erwartet folgende Parameter:
"smswebde.pl <smsnumber/alias> <message>"
Ich stelle mir das nun so vor: Die IP-Adresse wird ausgelesen und in eine Variable geschrieben, danach wird smswebde aufgerufen, wobei <message> die Variable ist. Geht das? Ich kenne mich leider fast überhaupt nicht mit Scripten aus.
Wer kann mir weiterhelfen?
Vielen Dank, Matthias
hi,
hast schon mal versucht den zweiten teil in hochkommas zu setzen also:
smswebde.pl <smsnummber> `ifconfig ppp0 | grep inet|cut -d : -f 2 | cut -d B -f 1`
D.h. nämlich, daß der teil in den hochkommas zuerst ausgeführt wird und dann das ergebnis weitergegeben wird. aber nimm die richtigen hochkommas (von links oben nach rechts unten).
gruß
-= pingu =-
Stingray0481
03-07-2001, 21:21
Korrekt, danke. So geht's noch einfacher, als ich gedacht habe.
Ich benutz jetzt übrigens das SMS Gateway von Freenet und das entsprechende Script. Freenet scheint mir einiges schneller zu sein (<30s)
Nebenbei:
Es scheint sich zu lohnen, mal mehr Erfahrung im Umgang mit Scripten bzw. Befehlen wie "grep" oder "cut" zu sammeln.
Kennt jemand ein gutes Buch für Anfänger, oder ein Online-Tutorial, o.ä.?
Gruß, Matthias
[ 03. Juli 2001: Beitrag editiert von: Stingray0481 ]
jgbauman
04-07-2001, 07:03
www.linuxfibel.de (http://www.linuxfibel.de)
Es geht einfacher:
Die soeben dynamisch zugewiesene IP-Adresse steht im Script ip-up in einer Variablen, deren Namen mir gerade nicht einfällt! Damit konnte man im Kernel 2.0.x mit ipfwadmin Firewallregeln für dynamische Netz-Interfaces aufsetzen. Man konnte nämlich nur Regeln für vorhandene Interfaces angeben. Da hier keine Interfacenamen (ppp0, eth0, ippp0,...) verwendet werden konnte (lag an ipfwadmin), mußte also die IP-Adresse her.
Schau mal unter man pppd nach, dort solltest du die benötigte Info finden! Dann kannst du direkt aus ip-up heraus smswebde.pl <smsnummer> $remote_ip (oder so ähnlich) aufrufen!
Gruß, Jens.
Falls du SSI (Server Side Includes) verwenden kannst ist die Lösung deines Problems nur noch ein Trivialität:
Füge im ip-up Script (/etc/ppp) vor oder nach den (möglicherweise auskommetierten) Aufrufen für mail abholen/versenden die folgende Zeile ein (achte auf die richtige Sektion, ippp* oder ppp*, je nach dem ob du ISDN oder Modem oder beides benutzt!):
echo $LOCALIP > /tmp/mydynip;
Achtung: Ich habe das jetzt noch nicht ausprobiert! Syntaxfehler bzw. falsch geschriebener Bezeichner ist nicht ausgeschlossen!
Jetzt steht die dynamisch zugewiesene IP nach jeder Einwahl in der Datei /tmp/mydynip!
Wenn du jetzt noch diese Datei auf deinen Webspace bei deinem Provider hochlädst und sie per SSI in deine HTML-Seite einbindest, ich schon alles erledigt.
Lezteres geht wie folgt:
Einfach an der Stelle wo die IP erscheinen soll das folgende HTML-Tag einbinden:
< !--#include file="mydynip"-->
Möglicherweise mußt du noch den Pfad zu dieser Datei angeben! Infos zu SSI findst du in Stefan Münz "SelfHTML"! Hast du bestimmt schon von gehört!
Gruß, Jens
PS: Deine Email habe ich bekommen und gelesen. Falls der eben beschriebe Mechanismus nicht funzt, melde dich einfach nochmal!
Hab ich noch vergessen:
Wie in selfhtml beschrieben solltest du deiner HTML-Datei die Extension .shtml anstatt .html oder .htm verpassen. Somit weiß der Webserver direkt, daß ihn dort eine SSI-Anweisung erwartet!
Jens
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.