LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      In jenem Thread wurde zuerst geforscht und dann über den LCD-Hack des Pearl-LCD diskutiert. Schlußendlich entstand ein neues Plugin und der Thread wurde mit knapp 1.700 Posts unübersichtlicht. Daher wurden der Thread geteilt. Eine Übersicht über alle LCD4Linux-Threads gibt es hier.

      Mit der Funktion "Zeige /tmp/lcd4linux.txt" kann man ganz wunderbare Dinge tun,d.h. die Möglichkeiten massgeschneiderte Texte anzuzeigen sind fast grenzenlos. Man kann Informationen aus beliebigen Internet- und Intranetquellen (zu Hause) saugen, auswerten, formatieren und dann dem Plugin zur Verfügung stellen und z.B. mittels dem Dienst "crontab" solche Scripte regelmäßig ausführen lassen. Man muss sich nur etwas mit Shell Scripting auskennen. Tutorials gibt es dazu viele im Internet, auch in dt. Sprache.

      BITTE POSTET HIER EURE SELBST ERSTELLTEN SHELL SCRIPTE UND EURE FRAGEN ZU DIESEM THEMA.


      Tipp: Falls du notepad++ als Editor verwendest, dann stelle sicher, dass unter "Einstellungen->Optionen -> Format Unix" eingestellt ist.

      Hinweis: Solltet ihr einen guten Tipp oder einen coolen Trick gefunden haben und an zentraler Stelle hinterlegen wollt, dann bitte sendet eine PN an mich. Ich nehme ihn dann hier mit auf.

      Mamba
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Einfaches Beispiel: Uptime

      Das Programm "uptime" kann man in der Linuxshell der E2 Box eingeben. Es zeigt an, wie lange die Box seit dem letzten Reboot gelaufen ist. Das sieht so aus:

      Quellcode

      1. root@:/# uptime
      2. 01:55:26 up 6 days, 5:16, load average: 0.04, 0.11, 0.21
      Wenn man nun einen Teil des Textstrings auf dem Display anzeigen will, muss man diesen etwas filtern:

      Quellcode

      1. echo `uptime`|cut -d"," -f1 >/tmp/lcd4linux.txt
      Hier wird die Textausgabe von "uptime" ausgegeben und das erste Feld vor dem ersten Komma ausgeschnitten. Das Ergebnis wird dann in den File /tmp/lcd4linux.txt geschrieben. Das gefilterte Ergebnis:

      Quellcode

      1. 01:55:26 up 6 days
      Das Beispiel kann hier als Screenshot angesehen werden.
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Nun stellt sich die Frage, wie das genau geht. Anbei der Versuch einer kleinen Anleitung:
      _____________________________________
      Die wichtigsten Dinge die jede E2 Box bereits mitbringt:

      grep - Zielen aus Texten rausfiltert
      cat - Textfiles ausgeben
      cut - Textfelder ausschneiden
      echo - Texte ausgeben
      head - Zeilen/Buchstaben am Textanfang ausschneiden
      tail - Gegenteil von head
      wget - Dateien/HTML Seiten von Webservern herunterladen, analog zu einem Browser


      Mit den o.g. kleinen Programmen kann man 90% der Parsingarbeiten (d.h. in Texten nach bestimmten Inhalten suchen und den gewünschten Text LCD-gerecht zu formatieren) machen.

      Nun muss man wissen, dass man mit sog. "Pipes" die Texteingaben und Ausgaben dieser Programme "verbinden" kann. Das geht mit "|".

      Beispiel: Wie kriege die aktuelle CPU Auslastung raus?

      So:

      Quellcode

      1. root@bm750:~# top -n1|grep CPU|head -n1|cut -d":" -f2|cut -d" " -f3
      2. 44.0%
      3. root@bm750:~#
      D.h. ich filtere mir die CPU Load aus der "top" Ausgabe raus

      Lest mal die Kette von links nach rechts, d.h. zwischen den "|". Dann verstehst man, wie so ein Filter funktioniert.

      Nun musst man dieses Ergebnis noch einer Variablen zuordnen (die muss man nicht vorab definieren),
      z.B.

      Quellcode

      1. CPULOAD="` top -n1|grep CPU|head -n1|cut -d":" -f3|cut -d" " -f3`"
      Und das Ganze in den File /tmp/lcd4linux.txt reinschreiben:

      Quellcode

      1. echo "CPU-Load:"$CPULOAD > /tmp/lcd4linux.txt
      Dieser Befehl überschreibt den bestehenden File. Wenn man die CPU LOAD nur an den bestehenden File anhängen will, dann mussman satt ">" einfach ">>" verwenden.

      Als Script sieht das dann so aus:

      Shell-Script

      1. #!/bin/sh
      2. CPULOAD="` top -n1|grep CPU|head -n1|cut -d":" -f2|cut -d" " -f3`"
      3. echo "CPU-Load:"$CPULOAD > /tmp/lcd4linux.txt
      4. exit 0
      Packt die 4 Zeilen in eine Datei, macht sie ausführbar ("chmod 755 dateiname")

      Und schon ist man live:

      Quellcode

      1. root@bm750:~# ./dateiname
      2. 44.0%
      3. root@bm750:~#
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Ein weiteres Beispiel ist die das angehängte Script von lollolcctr, das das Bild eines Anrufers auf dem Display als Popup anzeigt.

      Es muss im Plugin die Funktion "Zeige /tmp/lcd4linux.jpg" eingestellt werden. Zur Installation: einfach den Inhalt des Archivs "FritzCallScripts.zip" nach /etc/enigma2entpacken und ausführbar machen (chmod 755) auf der Konsole oder per "Properties\Permissions" bei z.B. WinSCP eintragen. Die Bilder für die Anrufer müssen im Ordner /etc/enigma2/FritzCallFaces im Format 0123456789.png liegen, ausserdem sollte dort ein "unbekannt.png" liegen, dies wird von dem Script verwendet, wenn das Bild zur Rufnummer nicht gefunden wird. wann im LCD4Linux Plugin noch fritz.png als Bild auf den Screens einstellen, wo man's sehen will, bei mir z.B. Schirm 1+2+3.

      /etc/enigma2/FritzCallUserAction.sh

      Shell-Script

      1. #!/bin/sh
      2. /etc/enigma2/anrufer.sh "$1" "$2" "$3" "$4" &
      3. exit 0

      /etc/enigma2/anrufer.sh

      Shell-Script

      1. #!/bin/sh
      2. AnzeigeDauer=15
      3. Uhrzeit="`echo $2|cut -d" " -f2`"
      4. Datum="`echo $2|cut -d" " -f1`"
      5. if [ $1 = "RING" ]
      6. then
      7. if [ -f /etc/enigma2/FritzCallFaces/$3.png ]
      8. then
      9. ln -s /etc/enigma2/FritzCallFaces/$3.png /tmp/fritz.png
      10. else
      11. ln -s /etc/enigma2/FritzCallFaces/unbekannt.png /tmp/fritz.png
      12. fi
      13. sleep $AnzeigeDauer
      14. rm /tmp/fritz.png
      15. echo "Letzter Anrufer: " > /tmp/fritz4lcd4linux.txt
      16. echo "--------------------" >> /tmp/fritz4lcd4linux.txt
      17. echo $Uhrzeit >> /tmp/fritz4lcd4linux.txt
      18. echo $3 >> /tmp/fritz4lcd4linux.txt
      19. echo $4 >> /tmp/fritz4lcd4linux.txt
      20. fi
      21. exit 0
      Alles anzeigen


      Download des Scripts

      Beispielbild
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      @Frittenuser:

      StB73 hat mich auf ein Problem mit dem Fritzcall-Plugin aufmerksam gemacht:

      Problem: "Bei einem Anruf zeigt mir FritzCall die Anrufe am TV an, aber am LCD rührt sich nichts."

      Lösung: Vermutlich wurde in den Settings der Ort des Phonebooks geändert, z.B. steht in /etc/enigma2/settings das hier:

      config.plugins.FritzCall.phonebookLocation.value = /media/hdd

      Somit kann das FritzCall Plugin das FitzCallUserAction.sh nicht finden ...

      Daher solltet ihr den absoluten Pfad im "anrufer.sh" hier ändern:

      Quellcode

      1. if [ -f /etc/enigma2/FritzCallFaces/$3.png ]
      2. then
      3. ln -s /etc/enigma2/FritzCallFaces/$3.png /tmp/fritz.png
      4. else
      5. ln -s /etc/enigma2/FritzCallFaces/unbekannt.png /tmp/fritz.png
      6. fi


      Besser wäre, wenn das Script angepasst würde und man in der "anrufer.sh" dynamisch den Laufzeit-Fixwert "config.plugins.FritzCall.phonebookLocation.value"parst und dessen Wert als Pfad verwendet.

      Kann das mal jemand ändern/scripten und testen?
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Skript Stromzähler

      Hallo, ich habe einen elektronischen Stromzähler von Yello. Gibt man die url vom Zähler im internetbrowser ein, wird der aktuelle Stromverbrauch angezeigt.
      Ist es irgendwie möglich den aktuellen Verbrauch im display anzuzeigen ? Gibt man die url in der display konfiguration ein wird natürlich nur der html code angezeigt.
      Gruß Paula

      HTML-Quellcode

      1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="refresh" content="2; URL=/index.html"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <link href="/style/main-yello.css" rel="stylesheet" type="text/css" media="all"> <title>Aktuelle Leistungsabnahme</title> </head> <body> <div id="menu"> <div id="logo"> <img src="/images/logo-yello.gif"> </div> <div id="navigation"> <div id="menuitems"> <ul> <li class="active"> <a class="link" href="/index.html">Aktuelle Leistung</a> </li> <li> <a class="link" href="/status.html">Statusseite</a> </li> <p> </p> <li><a class="link" href="https://192.168.178.21/index.html">Supportlogin</a></li> <li><a class="link" href="https://192.168.178.21/installateur/index.html">Installateurslogin</a></li> </ul> </div> </div> </div> <div id="main"> <div id="meta"> <div class="hotline"> <img src="/images/hotline-yello.gif"> </div> </div> <div id="top"> <div id="main_content"> <h1>Ihr Strom im Sekundentakt</h1> <div class="box small"> <div class="top_small"> </div> <div class="center_small"> <h2>Aktuelle Leistung</h2> <div class="akt_leistung">1088 W</div> </div> <div class="bottom_small"> </div> </div> <div class="box small last"> <div class="top_small"> </div> <div class="center_small"> <h2>Durchschnittliche Leistung innerhalb der letzten Viertelstunde </h2> <div class="durch_leistung"> 426 W </div> </div> <div class="bottom_small"> </div> </div> </div> </div> </div> </body> </html>


      So sieht das ganze in Firefox aus:
      Dateien
      • yello.jpg

        (27,16 kB, 3.213 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von paula12 ()

    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Original von mamba0815
      Kann das mal jemand ändern/scripten und testen?

      Ich habe mich mal daran versucht. War das erste mal, dass ich sowas gemacht habe und musste mich erst mal einlesen, sollte aber funktionieren.

      FritzCallUserAction.sh

      Shell-Script

      1. #!/bin/sh
      2. Directory=`grep config.plugins.FritzCall.phonebookLocation.value /etc/enigma2/settings | cut -d "=" -f 2`
      3. $Directory/anrufer.sh "$1" "$2" "$3" "$4" &
      4. exit 0


      anrufer.sh

      Shell-Script

      1. #!/bin/sh
      2. AnzeigeDauer=15
      3. Uhrzeit="`echo $2|cut -d" " -f2`"
      4. Datum="`echo $2|cut -d" " -f1`"
      5. Directory=`grep config.plugins.FritzCall.phonebookLocation.value /etc/enigma2/settings | cut -d "=" -f 2`
      6. if [ $1 = "RING" ]
      7. then
      8. if [ -f $Directory/FritzCallFaces/$3.png ]
      9. then
      10. ln -s $Directory/FritzCallFaces/$3.png /tmp/fritz.png
      11. else
      12. ln -s $Directory/FritzCallFaces/unbekannt.png /tmp/fritz.png
      13. fi
      14. sleep $AnzeigeDauer
      15. rm /tmp/fritz.png
      16. echo "Letzter Anrufer: " > /tmp/fritz4lcd4linux.txt
      17. echo "--------------------" >> /tmp/fritz4lcd4linux.txt
      18. echo $Uhrzeit >> /tmp/fritz4lcd4linux.txt
      19. echo $3 >> /tmp/fritz4lcd4linux.txt
      20. echo $4 >> /tmp/fritz4lcd4linux.txt
      21. fi
      22. exit 0
      Alles anzeigen

      Rausfinden welcher Pfad in FritzCall eingestellt ist muss man aber immer noch, da die beiden Dateien ja da abgelegt werden müssen, damit FritzCall die FritzCallUserAction.sh findet.


      @ paula12
      Ich bin auch erst grade in das Thema Shellskripte eingestiegen, aber ich denke das sollte auch mit grep gehen. Such mal nach <div class="akt_leistung">1088 W</div> in deiner html-Datei.
      Ob man die erst mit wget runterladen muss oder ob grep auch online funktioniert weiß ich nicht.

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Black Fly ()

    • @paula12

      Shell-Script

      1. #!/bin/sh
      2. # 127.0.0.1 durch deinen Link ersetzen
      3. while true
      4. do
      5. durch=$(wget -q -O - http://127.0.0.1 | grep "durch_leistung" | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' | sed 's/^[ \t]*//')
      6. aktuell=$(wget -q -O - http://127.0.0.1 | grep "akt_leistung" | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' | sed 's/^[ \t]*//')
      7. echo "Durchschnittliche - $durch" > /tmp/lcd4linux.txt
      8. echo "Aktuelle Leistung - $aktuell" >> /tmp/lcd4linux.txt
      9. sleep 5
      10. done
      11. exit 0
      Alles anzeigen


      den Script Speichern und mit "scriptname.sh &" starten damit er im Hintergrund läuft. zum beenden "killall scriptname"

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ernst12 ()

    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Original von Black Fly
      Original von mamba0815
      Kann das mal jemand ändern/scripten und testen?

      Ich habe mich mal daran versucht. War das erste mal, dass ich sowas gemacht habe und musste mich erst mal einlesen, sollte aber funktionieren.

      FritzCallUserAction.sh

      Shell-Script

      1. #!/bin/sh
      2. Directory=`grep config.plugins.FritzCall.phonebookLocation.value /etc/enigma2/settings | cut -d "=" -f 2`
      3. $Directory/anrufer.sh "$1" "$2" "$3" "$4" &
      4. exit 0


      anrufer.sh

      Shell-Script

      1. #!/bin/sh
      2. AnzeigeDauer=15
      3. Uhrzeit="`echo $2|cut -d" " -f2`"
      4. Datum="`echo $2|cut -d" " -f1`"
      5. Directory=`grep config.plugins.FritzCall.phonebookLocation.value /etc/enigma2/settings | cut -d "=" -f 2`
      6. if [ $1 = "RING" ]
      7. then
      8. if [ -f $Directory/FritzCallFaces/$3.png ]
      9. then
      10. ln -s $Directory/FritzCallFaces/$3.png /tmp/fritz.png
      11. else
      12. ln -s $Directory/FritzCallFaces/unbekannt.png /tmp/fritz.png
      13. fi
      14. sleep $AnzeigeDauer
      15. rm /tmp/fritz.png
      16. echo "Letzter Anrufer: " > /tmp/fritz4lcd4linux.txt
      17. echo "--------------------" >> /tmp/fritz4lcd4linux.txt
      18. echo $Uhrzeit >> /tmp/fritz4lcd4linux.txt
      19. echo $3 >> /tmp/fritz4lcd4linux.txt
      20. echo $4 >> /tmp/fritz4lcd4linux.txt
      21. fi
      22. exit 0
      Alles anzeigen

      Rausfinden welcher Pfad in FritzCall eingestellt ist muss man aber immer noch, da die beiden Dateien ja da abgelegt werden müssen, damit FritzCall die FritzCallUserAction.sh findet.


      Richtig. Eingentlich müsste das FritzCall-Plugin dementsprechend überarbeitet werden. Zumindest wurde aber das Problem lokalisiert, warum bei vielen Usern die Anzeige nicht funktioniert hatte.

      Ich habe gestern meine Scripte umgestellt und nun funktioniert alles. SUPER
      Versuche die Gelassenheit eines Stuhls zu erreichen!
      Der muß auch mit jedem Arsch klar kommen! ;-)

      Solo 4K
      Solo SE V2
      Hisense H65M550
      Yamaha Rx-V673
    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Original von StB73


      Richtig. Eingentlich müsste das FritzCall-Plugin dementsprechend überarbeitet werden. Zumindest wurde aber das Problem lokalisiert, warum bei vielen Usern die Anzeige nicht funktioniert hatte.

      Ich habe gestern meine Scripte umgestellt und nun funktioniert alles. SUPER


      Sorry, habe die Scripts nach den Vorgaben geändert, funkt bei mir immer noch nicht

      Wobei der simulierte Anruf funktioniert
      Permissions stimmen

      Phonebook liegt bei mir auf media/usb/
      Vu DUO Vti 3.2

      Kann ich den Pfad im Sript nicht irgendwo fest eintragen?

      Gruss DARK

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DARK ()

    • Original von ernst12
      @paula12

      Shell-Script

      1. #!/bin/sh
      2. # 127.0.0.1 durch deinen Link ersetzen
      3. while true
      4. do
      5. durch=$(wget -q -O - http://127.0.0.1 | grep "durch_leistung" | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' | sed 's/^[ \t]*//')
      6. aktuell=$(wget -q -O - http://127.0.0.1 | grep "akt_leistung" | sed -e 's/<[^<>]*>//g; /^[ ]*$/d' | sed 's/^[ \t]*//')
      7. echo "Durchschnittliche - $durch" > /tmp/lcd4linux.txt
      8. echo "Aktuelle Leistung - $aktuell" >> /tmp/lcd4linux.txt
      9. sleep 5
      10. done
      11. exit 0
      Alles anzeigen


      den Script Speichern und mit "scriptname.sh &" starten damit er im Hintergrund läuft. zum beenden "killall scriptname"


      Hallo, erstmal danke für die schnelle Hilfe. Aber es klappt nicht.
      Habe folgendes gemacht:
      -Skript strom.sh mit der ip vom Stromzähler erstellt und nach usr.skript kopiert, Rechte auf 755 gestellt.
      -Dann lcd4linux textdatei tmp/lcd4linux auf ein gestellt.
      reboot durchgeführt.
      -Dann über vti Systemwerkzeuge das skript gestartet.
      Leider bleibt das Display auf dem Schirm auf dem ich den lcd4linux.txt eingestellt habe schwarz.
      Sehe ich doch richtig das das Skript im Ordner tmp eine Textdatei erstellen sollte oder ?
      Dort wird aber keine textdatei erstellt es ist nur die lcd4linux demo da.
      Wo könnte der Fehler liegen.

      Edit: Habe jetzt mal versucht über telnet zu starten.

      welcome on your Vu+ ! - Kernel 3.1.1 (#1 SMP Tue Dec 13 22:01:55 CET 2011).
      vuuno login: root
      root@vuuno:~# cd /usr/script
      root@vuuno:/usr/script# strom.sh &
      root@vuuno:/usr/script# -sh: strom.sh: not found

      Das Skript liegt im Ordner mit den Rechten 755



      Gruß Paula

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von paula12 ()

    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      Original von DARK
      Original von StB73


      Richtig. Eingentlich müsste das FritzCall-Plugin dementsprechend überarbeitet werden. Zumindest wurde aber das Problem lokalisiert, warum bei vielen Usern die Anzeige nicht funktioniert hatte.

      Ich habe gestern meine Scripte umgestellt und nun funktioniert alles. SUPER


      Sorry, habe die Scripts nach den Vorgaben geändert, funkt bei mir immer noch nicht

      Wobei der simulierte Anruf funktioniert
      Permissions stimmen

      Phonebook liegt bei mir auf media/usb/
      Vu DUO Vti 3.2

      Kann ich den Pfad im Sript nicht irgendwo fest eintragen?

      Gruss DARK


      HI,

      also die Scripte müssen neben dem Telefonbuch liegen und mit 755 ausführbar sein.
      Meine Scripte schauen im Moment so aus:
      anrufer.sh

      Shell-Script

      1. #!/bin/sh
      2. AnzeigeDauer=15
      3. Datum="`echo $2|cut -d" " -f1`"
      4. if [ $1 = "RING" ]
      5. then
      6. if [ -f /media/hdd/FritzCallFaces/$3.png ]
      7. then
      8. ln -s /media/hdd/FritzCallFaces/$3.png /tmp/fritz.png
      9. else
      10. ln -s /media/hdd/FritzCallFaces/unbekannt.png /tmp/fritz.png
      11. fi
      12. sleep $AnzeigeDauer
      13. rm /tmp/fritz.png
      14. echo "Letzter Anrufer: " > /tmp/fritz4lcd4linux.txt
      15. echo "--------------------" >> /tmp/fritz4lcd4linux.txt
      16. echo $2 >> /tmp/fritz4lcd4linux.txt
      17. echo $3 >> /tmp/fritz4lcd4linux.txt
      18. echo $4 >> /tmp/fritz4lcd4linux.txt
      19. fi
      20. exit 0
      Alles anzeigen


      FritzCallUserAction.sh

      Shell-Script

      1. #!/bin/sh
      2. /media/hdd/anrufer.sh "$1" "$2" "$3" "$4" &
      3. exit 0


      Und direkt daneben das VZ FritzCallFaces mit den Bildern.

      So werden werden die Bilder auf dem TV und dem LCD dargestellt.

      Gruß StB73
      Versuche die Gelassenheit eines Stuhls zu erreichen!
      Der muß auch mit jedem Arsch klar kommen! ;-)

      Solo 4K
      Solo SE V2
      Hisense H65M550
      Yamaha Rx-V673

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von StB73 ()

    • RE: LCD4Linux: (Shell Scripting) Die besten Scripts und How-Tos

      @StB73

      Jetzt läuft es -- wunderbar -- und Pulle auf :D

      Das war die Info die noch gefehlt hatte

      Vielen Dank StB73--

      Gruss DARK
    • @paula

      Zum starten über Telnet mußt du ./Strom.sh & eingeben. ja der Script erstellt eine Textdatei in das tmp verzeichnis. Dein Editor ist auch Linux geeignet? Ich verwende pspad. Sage mir mal die ip da mache ich heute Abend das Script mal fertig.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von ernst12 ()

    • Genau.

      Vielleicht für den interessierten Mitleser zur Info:

      "./" muss man immer voranstellen, wenn das Binary nicht im Suchpfad ist (Unix startet nur Binaries im Suchpfad) und das aktuelle Verzeichnis, in dem man ist, kann schon nicht darinnen sein (z.B. /home/root oder /usr/script). Mit "./" gibt man eine absolute Pfadangabe, die auf das aktuelle Verzeichnis verweist. Daher wird dann ein Binary aufgerufen.

      UNIX macht Spass, gell? :D
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Original von ernst12
      @paula

      Zum starten über Telnet mußt du ./Strom.sh & eingeben. ja der Script erstellt eine Textdatei in das tmp verzeichnis. Dein Editor ist auch Linux geeignet? Ich verwende pspad. Sage mir mal die ip da mache ich heute Abend das Script mal fertig.


      Hallo, die IP lautet 192.168.178.21 habe Proton zum erstellen verwendet, soweit ich weiß ist der Linux geeignet.
      Das mit dem ./ vor strom.sh & habe ich nicht gewußt.
      Bin jetzt nicht Zuhause werde das nachher mal so testen, das wird ja dann wohl der Fehler gewesen sein.
      Wie ist es eigentlich nach einem Neustart der Box, muß das skript dann erst wieder gestartet werden ?

      Gruß und Danke für die Hilfe

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von paula12 ()

    • Ja ... pack das in die crontab. Dann wird es regelmäßig ausgeführt.
      checking for long long... yes<br>
      checking for long double... yes<br>
      +++ Divide By Cucumber Error. Stopping. +++<br><br>
    • Mann bist du schnell, habe gerade nochmal editiert und du hast schon geantwortet.
      Der crontab führt das skript dann zu bestimmten Zeiten aus oder ? Schön wäre wenn man es direkt nach dem Start der Box ausführen könnte.
    • Original von paula12
      Der crontab führt das skript dann zu bestimmten Zeiten aus oder ? Schön wäre wenn man es direkt nach dem Start der Box ausführen könnte.

      Anstatt zu einem bestimmten Zeitpunkt kann man auch Zeitabstände eingeben. Folgendes Beispiel führt das Skript jede Minute aus:
      * * * * * /usr/script/strom.sh

      Das ist allerdings auch schon der kürzeste Zeitabstand der mit cron funktioniert. Wenn du einen kürzeren Aktualisierungsinterval willst, könntest du den Inhalt der strom.sh drei mal untereinander kopieren und mit sleep 20 trennen. Dann würde es im 20 Sekunden Takt 3 mal hintereinander durch das Skript ausgeführt und zur nächsten Minute wieder von cron gestarter.

      Das würde dann einem Autostart des Skriptes gleich kommen.
    • Moin,

      könnte man das script hier noch irgendwie in das OScam-Plugin mit einbauen?
      Funktionieren tuts, weil allerdings nicht ob das code mäßig richtig ist weil ich kein Profi bin. Also schonmal sorry falls das nicht so aufgebaut ist wie es sein sollte ;)

      Shell-Script

      1. #!/bin/sh
      2. INSTOSCAM="`grep Version: /tmp/.oscam_camd3/oscam.version| cut -d" " -f12`"
      3. wget -O /tmp/oscamakt.tmp "http://download.oscam.to/index.php?&direction=0&order=mod&directory=mips-tuxbox"
      4. AKTOSCAM="`grep "oscam-svn" /tmp/oscamakt.tmp | cut -d"-" -f2| cut -c4-8| head -n1| cut -d"-" -f2| head -n1`"
      5. if test $AKTOSCAM -gt $INSTOSCAM
      6. then
      7. echo "!!!!! Update verfügbar !!!!!" > /tmp/oscamsvncheck.tmp
      8. echo "Aktuelle Version:" >> /tmp/oscamsvncheck.tmp
      9. echo "$AKTOSCAM" >> /tmp/oscamsvncheck.tmp
      10. echo "" >> /tmp/oscamsvncheck.tmp
      11. echo "Alte Version:" >> /tmp/oscamsvncheck.tmp
      12. echo "$INSTOSCAM" >> /tmp/oscamsvncheck.tmp
      13. cp /tmp/oscamsvncheck.tmp /tmp/lcd4linux.txt
      14. rm /tmp/oscamakt.tmp
      15. rm /tmp/oscamsvncheck.tmp
      16. else
      17. echo "Kein Update verfügbar " > /tmp/oscamsvncheck.tmp
      18. echo "Installierte Version: " >> /tmp/oscamsvncheck.tmp
      19. echo "$AKTOSCAM" >> /tmp/oscamsvncheck.tmp
      20. echo "" >> /tmp/oscamsvncheck.tmp
      21. echo "Download Version: " >> /tmp/oscamsvncheck.tmp
      22. echo "$INSTOSCAM" >> /tmp/oscamsvncheck.tmp
      23. cp /tmp/oscamsvncheck.tmp /tmp/lcd4linux.txt
      24. rm /tmp/oscamakt.tmp
      25. rm /tmp/oscamsvncheck.tmp
      26. fi
      27. exit 0
      Alles anzeigen