Bash Scripting

  • Hallo Leute,


    bin gerade dabei meine VDR Umgebung ein bisschen aufzupeppeln. Dafür wollte ich mir ein paar kleine Scripte basteln. Die Programmierung als solches macht mir kein Problem da ich beruflich mit JAVA und C++ arbeite (allerdings unter Windows). Was mir im Augenblick so fehlt sind so ein paar Tools oder andere Scripte die man IMPORT oder INCLUDE einbinden kann. Am besten natürlich von der Distri direkt.


    z.B. :
    - Einlesen einer Konfigurationsdatei oder Schreiben einer Konfigurationsdatei
    - Prüfen ob ein Rechner im Netz online oder bestimmtes Verzeichnis freigeben ist
    - Einem anderen VDR Befehle via SVDR senden


    Habt ihr da vielleicht nen Tip.


    Gruss BlueOne

    :] VDR: 1.4.7, Kernel: 2.6.22.5, Board: VIA EPIA M10000/CLE266, RAM: 512MB-DDR,
    HD: 2,5" Samsung 60GB, 2,5" Toshiba 40GB, SAT: Skystar 2 Rev2.6d, LIRC: Seriell, TV: Panasonic TX-32E40P über SVIDEO,
    Softiges: easyVDR 0.5 RC1 + viafb + DirectFb + Softdevice

  • Zitat

    Original von BlueOne
    Hallo Leute,


    bin gerade dabei meine VDR Umgebung ein bisschen aufzupeppeln. Dafür wollte ich mir ein paar kleine Scripte basteln. Die Programmierung als solches macht mir kein Problem da ich beruflich mit JAVA und C++ arbeite (allerdings unter Windows). Was mir im Augenblick so fehlt sind so ein paar Tools oder andere Scripte die man IMPORT oder INCLUDE einbinden kann. Am besten natürlich von der Distri direkt.


    z.B. :
    - Einlesen einer Konfigurationsdatei oder Schreiben einer Konfigurationsdatei


    ". /Pfad/Zur/Configdatei" liest den Inhalt der Datei.
    Schreiben kannst Du indem du den Text mit "echo" ausgibst und einfach in eine Datei umleitest, z.B. so:
    echo "Das ist der Inhalt der Textdatei" > textdatei.txt


    Ein einfaches ">" schreibt die Datei neu, ein erneutes ">" danach überschreibt den Inhalt wieder. Willst Du was an eine bestehende Datei anhängen, so musst Du ">>" verwenden, z.B. so:
    echo "Noch eine Zeile für die Datei" >> textdatei.txt


    BTW: Mit einem echo "" > DATEI bekommt man auch sehr schnell wieder zu groß geratene Logfiles unter Kontrolle ohne sie zu löschen und dann neu (mit den richtigen Rechten) anlegen zu müssen ;)



    Zitat

    - Prüfen ob ein Rechner im Netz online oder bestimmtes Verzeichnis freigeben ist


    Online: ping -c1 RECHNERNAME, danach den Returncode prüfen. 0 heisst das der Server erreicht worden ist, 1 dass er nicht erreicht worden ist. Prüfung geht so:
    if [ "$?" -eq 0 ]; then echo "ist da"; else echo "ist nicht da"; fi


    Verzeichnis freigegeben: SMB oder NFS oder sonstwas? bei SMB etwa so:


    smbclient -L //ZIELRECHNER | grep "<SHARENAME>"


    und dann wieder den Returncode prüfen, 0 für hat was gefunden, 1 für hat nix gefunden. Wenn Du grep noch den Parameter "-i" mitgibst ist das ganze Case Insensitive, ansonsten muss der Share im grep-Teil genauso geschrieben werden wie smbclient ihn ausgibt.


    Zitat

    - Einem anderen VDR Befehle via SVDR senden


    Da liegt mir der Name des Tools auf der Zunge... Komm ich grad nicht drauf... Kann es nc (=netcat) sein?


    cu
    Mar(mahlzeit)kus

  • mahlzeit,


    Schande über mein Haupt !!!!


    Auf die Sache mit dem Returncode bin ich überhaupt nicht gekommen !
    War schon drauf und dran die PING-Ausgabe irgenwie zu parsen.
    UND dann das mit den Umleitungen und den Pipes, hab ich anno 1819 doch auch bei DOS so gemacht (Wie vergesslich man doch wird wenn man nur mit nem netten Desktop arbeitet)


    Danke für die schnellen Tips.


    Gruss BlueOne

    :] VDR: 1.4.7, Kernel: 2.6.22.5, Board: VIA EPIA M10000/CLE266, RAM: 512MB-DDR,
    HD: 2,5" Samsung 60GB, 2,5" Toshiba 40GB, SAT: Skystar 2 Rev2.6d, LIRC: Seriell, TV: Panasonic TX-32E40P über SVIDEO,
    Softiges: easyVDR 0.5 RC1 + viafb + DirectFb + Softdevice

  • Zitat

    Original von BlueOne
    mahlzeit,


    Schande über mein Haupt !!!!


    Auf die Sache mit dem Returncode bin ich überhaupt nicht gekommen !
    War schon drauf und dran die PING-Ausgabe irgenwie zu parsen.
    UND dann das mit den Umleitungen und den Pipes, hab ich anno 1819 doch auch bei DOS so gemacht (Wie vergesslich man doch wird wenn man nur mit nem netten Desktop arbeitet)


    Man, das (DOS) war ja noch im letzten Jahrtausend... ;) Wie die Zeit vergeht... Wenn ich an den ersten DOS-PC denke... "Wie, man muss da ne Diskette reinstecken und booten?? Der C16 braucht das doch auch nicht..."


    Zitat

    Danke für die schnellen Tips.


    Bitte, gern geschehen ;) Manchmal sieht man ja den Wald vor lauter Bäumen nicht oder denkt sich was kompliziertes aus, weil man der Meinung ist dass es soo einfach ja gar nicht funktionieren kann ;)


    cu
    Markus

  • Hallo Markus,


    jaaa damals ....


    Seit dem ich vor ein paar Monaten den VDR für mich entdeckt habe bin ich privat immer mehr auf Linux umgestiegen. Da läuft bei mir noch ein alter 200Mhz Pentium mit gigantischen 40GB als Server.
    Als ich mir die Kiste zusammengeschraubt habe bin ich noch auf meine Sammlung von Disketten aus DOS-Zeiten und den Anfängen von Windows gestossen und das war ein ganzer Umzugskarton voll mit Disketten.


    Friede ihrer Asche.


    Gruss BlueOne

    :] VDR: 1.4.7, Kernel: 2.6.22.5, Board: VIA EPIA M10000/CLE266, RAM: 512MB-DDR,
    HD: 2,5" Samsung 60GB, 2,5" Toshiba 40GB, SAT: Skystar 2 Rev2.6d, LIRC: Seriell, TV: Panasonic TX-32E40P über SVIDEO,
    Softiges: easyVDR 0.5 RC1 + viafb + DirectFb + Softdevice

  • Zitat

    Original von BlueOne
    war ein ganzer Umzugskarton voll mit Disketten.

    Braucht noch jemand 5 1/4" Disketten? ;)

    Zitat

    Friede ihrer Asche.

    Barbar...

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!