Wollte gerade mal mein erste Script schreiben, welches mir per Handy-Anruf per SMS die aktuelle IP des Rechners übermittelt: #!/bin/bash if less /var/log/isdn.log | grep +49XXXXXX; then ifconfig ppp0 > ip sub=`ifconfig ppp0|grep inet` cat ip|mail -s $sub jochen@wa-p.netz fi Das mit dem $sub in der letzten Zeile stimmt. Ich will, dass die Zeile mit der IP-Adresse als Subject auftaucht, da unser Provider nur das Subject einer Nachricht an das Handy übermittelt! Kann mit jemand helfen? -- Jochen
Am Don, 31 Jan 2002 schrieb Jochen Kaechelin:
Wollte gerade mal mein erste Script schreiben, welches mir per Handy-Anruf per SMS die aktuelle IP des Rechners übermittelt:
#!/bin/bash
if less /var/log/isdn.log | grep +49XXXXXX; then ifconfig ppp0 > ip sub=`ifconfig ppp0|grep inet` cat ip|mail -s $sub jochen@wa-p.netz fi
Das mit dem $sub in der letzten Zeile stimmt.
Und was stimmt nicht?
Kann mit jemand helfen?
Bestimmt, wenn Du mir sagst, was genau das Problem ist. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
* Jochen Kaechelin schrieb am 31.Jan.2002:
Wollte gerade mal mein erste Script schreiben, welches mir per Handy-Anruf per SMS die aktuelle IP des Rechners übermittelt:
#!/bin/bash
if less /var/log/isdn.log | grep +49XXXXXX; then
Warum less? cat macht das Gleiche, solange es nicht interaktiv ist. Aber es geht noch einfacher if grep +49XXXXXX /var/log/isdn.log Wenn Du keine Ausgabe haben möchtest, sondern nur Testen, ob +49XXXXXX in isdn.log vorkommt, was anderes machst Du hier nicht, dann würde ich ein grep -q nehmen. Aber ich glaube, Du willst eine Ausgabe haben, aber wohin? Nur auf dem Bildschirm kann es ja nicht sein, oder?
ifconfig ppp0 > ip
Hm, hier rufst Du ifconfig auf und schreibst die Ausgabe in eine Datei ip. Egal in welchem Verzeichniß Du gerade bist. Befindest Du Dich in Deinem Homeverzeichniß, so wird eine Datei /home/$USER/ip angelegt, befindest Du Dich gerade in /tmp, so wird eine Datei /tmp/ip angelegt, befindest Du Dich z.B in /etc, so bekommst Du eine Fehlermeldung, daß die Datei ip nicht angelegt werden kann.
sub=`ifconfig ppp0|grep inet`
Eben noch hast Du die Ausgabe von ifconfig nach ip geleitet, jetzt rufst Du ifconfig nochmal auf, warum. ip nutzt Du gar nicht. Wenn Du ip wirklich nutzen willst, so schreib es nach /tmp/ip, oder noch besser erzeuge Dir dafür einen einmaligen Namen. Und nachher aufräumen nicht vergessen, aber warum nimmst Du nicht einfach eine Shellvariable? Mit sub hast Du es ja auch gemacht.
cat ip|mail -s $sub jochen@wa-p.netz
Achso, hier taucht ip auf. Nein, so nicht. Mach doch einfach: ifconfig ppp0 | mail -s `ifconfig ppp0|grep inet` jochen@wa-p.netz Obwohl da immer noch zweimal ifconfig aufgerufen wird. Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
On Thu, 31 Jan 2002, Jochen Kaechelin wrote:
#!/bin/bash
if less /var/log/isdn.log | grep +49XXXXXX; then
Was soll das? if grep '+49XXXXXXX' /var/log/isdn.log; then
ifconfig ppp0 > ip sub=`ifconfig ppp0|grep inet` cat ip|mail -s $sub jochen@wa-p.netz fi
Das mit dem $sub in der letzten Zeile stimmt. Ich will, dass die Zeile mit der IP-Adresse als Subject auftaucht, da unser Provider nur das Subject einer Nachricht an das Handy übermittelt!
Kann mit jemand helfen?
Wo ist das Problem? Aber wie waere's mit folgendem: ,----[ /usr/local/bin/dynip.sh ] | #!/bin/sh | # Copyright (c)2001 David Haller <dhaller@users.sourceforge.net> [.. GPL Notice..] | # USAGE: dynip.sh [INTERFACE] | | IF="${1:-ppp0}" | /sbin/ifconfig $IF | /bin/sed -n 's/.*addr:\([0-9\.]*\).*/\1/p'; `---- Und dann in die /etc/ppp/ip-up.local folgendes: echo "" | /usr/bin/mail -s "`/usr/local/bin/dynip.sh ppp0`" jochen@wa-p.netz ABER: Verwendest du ISDN? Dann musst du wohl statt ppp0 das interface ippp0 verwenden also: echo "" | /usr/bin/mail -s "`/usr/local/bin/dynip.sh ippp0`" jochen@wa-p.netz Oder willst du ein _Einwahl_ via ISDN ueberwachen? Dann musst du natuerlich schon /var/log/isdn.log ueberwachen (s.o.) -dnh -- Die Netiquette ist (lediglich) eine FAQ zu der Frage "Warum sind die anderen so genervt von mir und nennen mich immer PLONK?". [Oliver Gassner in dsn]
* David Haller schrieb am 31.Jan.2002:
Aber wie waere's mit folgendem:
,----[ /usr/local/bin/dynip.sh ] | #!/bin/sh | # Copyright (c)2001 David Haller <dhaller@users.sourceforge.net> [.. GPL Notice..] | # USAGE: dynip.sh [INTERFACE] | | IF="${1:-ppp0}" | /sbin/ifconfig $IF | /bin/sed -n 's/.*addr:\([0-9\.]*\).*/\1/p'; `----
Und dann in die /etc/ppp/ip-up.local folgendes:
echo "" | /usr/bin/mail -s "`/usr/local/bin/dynip.sh ppp0`" jochen@wa-p.netz
Wenn wir einmal bei ip-up sind, könnte man da nicht einfach $4 nehmen, oder ist das eine andere Adresse? Bernd -- Bitte die Etikette beachten: http://www.suse-etikette.de.vu/etikette.html Bitte Realnamen angeben, kein Vollquoting, kein Html, PGP oder Visitenkarten benutzen. Signatur mit "-- " abtrennen, bei Antworten "Re: " voranstellen, sonst nichts. |Zufallssignatur 4
On Fri, 01 Feb 2002, Bernd Brodesser wrote: [..]
| IF="${1:-ppp0}" | /sbin/ifconfig $IF | /bin/sed -n 's/.*addr:\([0-9\.]*\).*/\1/p'; `----
Und dann in die /etc/ppp/ip-up.local folgendes:
echo "" | /usr/bin/mail -s "`/usr/local/bin/dynip.sh ppp0`" jochen@wa-p.netz
Wenn wir einmal bei ip-up sind, könnte man da nicht einfach $4 nehmen, oder ist das eine andere Adresse?
Aeh, ja, natuerlich :) Also: /usr/bin/mail -s "$4" <empfaenger> Naja, ausserhalb der ip-up[.local] ist's aber nuetzlich -- und wenn ich hier immer die wildesten Konstrukte mit cut, awk, perl ... sehe, die aus dem ifconfig-output die ip holen wollen... *g* -dnh -- "Now, what was I doing before I so rudely interrupted myself?"
Bernd Brodesser schrieb am Fri, Feb 01, 2002 at 02:09:08AM +0100:
Wenn wir einmal bei ip-up sind, könnte man da nicht einfach $4 nehmen, oder ist das eine andere Adresse?
Werden die Variablen denn auch beim ipppd gesetzt? Die Einwahl erfolgt doch via ISDN AFAIR... Gruß, Christian -- Christian Schmidt | Germany | christian@siebenbergen.de No HTML Mails, please!!
* Christian Schmidt schrieb am 04.Feb.2002:
Bernd Brodesser schrieb am Fri, Feb 01, 2002 at 02:09:08AM +0100:
Wenn wir einmal bei ip-up sind, könnte man da nicht einfach $4 nehmen, oder ist das eine andere Adresse?
Werden die Variablen denn auch beim ipppd gesetzt? Die Einwahl erfolgt doch via ISDN AFAIR...
Ja, siehe man ipppd und da nach ip-up suchen. Aber ich sehe gerade, daß die remote IP-Adresse auf $5 liegt. Gilt auch für pppd. Bernd -- Probleme mit dem Drucker? Schon die Druckercheckliste beachtet? http://localhost/doc/sdb/de/html/drucker-howto.html | Auch lesenswert: Oder schon das Drucker-HOWTO gelesen? | man lpr file://usr/shar/doc/howto/de/DE-Drucker-HOWTO.txt.gz | Zufallssignatur 3
Am Mon, 04 Feb 2002 schrieb Christian Schmidt:
Bernd Brodesser schrieb am Fri, Feb 01, 2002 at 02:09:08AM +0100:
Wenn wir einmal bei ip-up sind, könnte man da nicht einfach $4 nehmen, oder ist das eine andere Adresse?
Werden die Variablen denn auch beim ipppd gesetzt? Die Einwahl erfolgt doch via ISDN AFAIR...
Ja, werden auch bei ISDN-Einwahl gesetzt. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
participants (5)
-
B.Brodesser@t-online.de
-
Christian Schmidt
-
Christoph Maurer
-
David Haller
-
Jochen Kaechelin