Variablen in Script aus Einträgen in setup.conf ableiten?

  • ich würde gerne in der mplayer.sh.conf Variablen verwenden, die direkt aus Einträgen in vdr`s setup.conf abgeleitet werden sollen.


    Statt in mplayer.sh.conf also z.B.

    Code
    SCREENW = 720


    einzutragen, würde ich an der Stelle gerne den bereits in /etc/vdr/setup.conf definierten Wert abgreifen:

    Code
    pvr350.X_res = 720


    wie mache ich das? das geht doch bestimmt irgendwie über grep?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Vorschlag:

  • wow, danke. Kann man den relevanten Code nicht direkt in der mplayer.sh.conf unterbringen? hmm, da hier ja was "ausgeführt" wird, ist das vermutlich nicht so einfach. Dann müsste man den Aufruf dieses Scripts halt in den Startvorgang irgendwo integrieren.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hi,


    es müsste doch auch so funktionieren:


    du includest in der mplayer.sh.conf einfach die setup.conf und setzt die Variablen der mplayer.sh.conf gleich mti denen der setup.conf
    (Includen macht man mit ". /pfad/zu/config.conf")


    Hier ein Quick&Dirty Beispiel:


    Inhalt der /tmp/bla.sh

    Bash
    #!/bin/sh
    
    
    . /tmp/bla.conf
    
    
    Testausblaconf=$test
    
    
    echo $Testausblaconf


    Inhalt der /tmp/bla.conf

    Code
    test=123


    easyVDR:/tmp# ./bla.sh
    123
    easyVDR:/tmp#


    Grüße
    sphere

    silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

    Einmal editiert, zuletzt von sphere ()

  • Zitat

    Kann man den relevanten Code nicht direkt in der mplayer.sh.conf unterbringen? hmm, da hier ja was "ausgeführt" wird, ist das vermutlich nicht so einfach.


    leider kenne ich die 'mplayer.sh.conf' nicht. Ist das ein Shellscript? Wer liest das ein?
    Evtl. koennte man dem einlesenden Prozess ein entsprechendes Filter vorschalten.z.B. so:


    sphere:
    Idee ist gut. Aber leider ist die 'setup.conf' kein 'includbares' Shellscript.

  • sparkie: Jo, hast Recht, ist mir garnicht aufgefallen.


    Wenn man die setup.conf durch ein kurzes sed Script jagt, ist sie includebar.
    Sofern ich mich richtig erinnere existiert eine mplayer.sh die die mplayer.sh.conf includet.
    In der mplayer.sh könnte man also das sed Script unterbringen (Dann braucht man es nicht in Ausführ-Apostrophs packen) welches unter /tmp eine shellscript includebare config Datei erstellt.


    Hier ein noch sehr dreckiges Beispiel:


    Bash
    #!/bin/sh
    
    
    `sed /etc/vdr/setup.conf -e's/ = /="/'|sed 'y/\.- /___/'|sed 's/$/"/'> /tmp/setup_sh.conf`
    . /tmp/setup_sh.conf
    
    
    Testausblaconf=$EPGLanguages
    echo $Testausblaconf


    Kurze Erklärung: Warum es nicht includet werden kann ist wohl:
    1. Die leerstelle vor und nach dem Gleich
    2. Punkte dürfen in Variablennamen nicht vorkommen
    3. Bindestriche dürfen in Variablennamen nicht vorkommen
    4. Es sind Leerstellen in den Werten der Variablen
    Bitte koriggiert mich, falls falsch ;)


    Ich lasse also Bindestriche, Leerstellen und Punkte in Unterstriche umwandeln, packe die Werte der Variablen in Doppelte Anfürhungszeichen.


    Wenn Interesse besteht kann ich das nachher nochmal ordentlicher machen..


    Grüße
    sphere

    silence: Ubuntu 9.10 | Asus M3N78-VM | AMD 4450e | TT-budget S2-1600 DVB-S2 | 5 X 1TB Raid5 | vdr (1.7.10) | xbmc opdenkamp master | Optoma HD65 Beamer | Samsung LE37B530 LCD | Onkyo 605 AVR | Heco Victa 700/300/100/25A

  • Moin!


    Hier noch eine Lösung:

    Code
    SCREENW=`grep -e "^pvr350\.X_res" /etc/vdr/setup.conf | sed -e 's/.*=\(.*\)/\1/g' -e 's/ //'`


    Anschließend müsste man gucken, ob überhaupt was in der Variablen steht und sie ggf. mit einem Defaultwert füllen.


    mini.

Jetzt mitmachen!

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