Probleme Quotes -> " und ' in runvdr

  • Hallo,

    ich habe hier ein kleinen Problem.

    mein script sieht so aus:

    wenn ich das script ausführe, dann bekomme ich

    Quote


    /usr/bin/vdr: invalid option -- i

    retour.

    hat jemand eine idee wie ich dieses problem umschiffen kann?

    mfg,
    thomas

    EPIA M10000, Technotrend 1.5, 1024Ram, 160Gb

    VDR SLAX

  • Pack den Aufrufstring in eine Variable und führe die mit z.B: "eval $CMD" aus.

    cu
    Markus

  • hallo,

    Quote


    #!/bin/bash


    plugin1="-P skinenigma"
    plugin2="-P \'remote -i /dev/input/by-path/pci-0000:00:14.0-event-ir\'"
    plugin3="menuorg"

    cmd="/usr/bin/vdr -c /etc/vdr -E /var/vdr/epg.data -L /usr/lib/vdr/lib -s /etc/vdr/script/vdrshutdown.sh -w 60 --vfat $plugin1 $plugin2 $plugin3"

    eval $cmd

    dieser aufruf liefert leider das selbe ergebnis.

    hast du das so gemeint?

    mfg,
    Thomas

    EPIA M10000, Technotrend 1.5, 1024Ram, 160Gb

    VDR SLAX

  • Ja, schon. Du könntest sogar die Backslash (oder grad deswegen?) bei der Zuweisung von plugin2 noch weglassen.

    cu
    Markus

  • Nabend

    Du könntest es zbs. auch so machen.

    Code
    plugins=(
    	"-P skinenigma"
    	"-P \'remote -i /dev/input/by-path/pci-0000:00:14.0-event-ir\'"
    	"-P menuorg"
    	)
    
    
    cmd="/usr/bin/vdr -c /etc/vdr -E /var/vdr/epg.data -L /usr/lib/vdr/lib -s /etc/vdr/script/vdrshutdown.sh -w 60 --vfat ${plugins[@]}"

    Macht das geraffel ("$plugin1 $plugin2 $plugin3") obsolete, und brauchst an $cmd nix mehr ändern.

    Oder, da eh schon eval.

    Code
    - cmd="/usr/bin/vdr -c /etc/vdr -E /var/vdr/epg.data -L /usr/lib/vdr/lib -s /etc/vdr/script/vdrshutdown.sh -w 60 --vfat $plugin1 $plugin2 $plugin3"
    + cmd="/usr/bin/vdr -c /etc/vdr -E /var/vdr/epg.data -L /usr/lib/vdr/lib -s /etc/vdr/script/vdrshutdown.sh -w 60 --vfat \$plugin{1,2,3}"

    LG Ronny

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!