PDA

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

Pingu
03-07-2001, 20:57
hi,

hast schon mal versucht den zweiten teil in hochkommas zu setzen also:

smswebde.pl &lt;smsnummber&gt; `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ß

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-= 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)

jkaiser
04-07-2001, 12:45
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.

jkaiser
06-07-2001, 10:40
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!

jkaiser
06-07-2001, 10:45
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