Edit: Titel angepasst.
______________________________________________________
Hallo.
Ich habe ein seltsames Problem bei dem ich nicht weiterkomme.
Folgendes:
Ich möchte vdr starten und dabei Plugins übergeben. Plugins werden in der Form -P 'Parameterlist mit Leerzeichen' (-P beliebig oft) übergeben.
Mein VDR ist selbst kompiliert, die die Parameter der Plugins speichere ich in der datei plugins.conf nach dem Format:
Code: Alles auswählen
mp3 -m $VDRBASE/plugins/mp3/mount.sh -n $VDRBASE/plugins/mp3/network.sh
dvd -C/media/dvd
osdteletext --directory=$VDRBASE/cache/osdteletext.cache --max-cache=20M
Code: Alles auswählen
PLUGINS=`cat $VDRBASE/plugins.conf | sed "s/^/-P \'/" | sed "s/$/\'/"`
PLUGINS=`echo "$PLUGINS" | sed "s!\\$VDRBASE!$VDRBASE!g"` # kleiner Trick
PLUGINS="./test2.sh $PLUGINS"
$PLUGINS
So sieht es aus wenn ich es durch obige 4 Zeilen starten lasse:
So war das nicht gedacht - er separiert die Parameter und beachtet in dem Fall die spezielle Bedeutung des Singleqoute nicht.FULL=-P 'mp3 -m /usr/local/vdr/plugins/mp3/mount.sh -n /usr/local/vdr/plugins/mp3/network.sh -S mp3 -B /var/lib/cddb' -P 'dvd -C/media/dvd' -P 'osdteletext --directory=/usr/local/vdr/cache/osdteletext.cache --max-cache=20M' -P 'xine -r' -P'newsticker' -P 'games'
1st=-P
2nd='mp3
3rd=-m
4th=/usr/local/vdr/plugins/mp3/mount.sh
5th=-n
6th=/usr/local/vdr/plugins/mp3/network.sh
7th=-S
8th=mp3
Wenn ich $PLUGINS nicht ausführe, sondern mit echo ausgebe, sieht alles aus wie es soll.
Ich weiß dass das ein triviales Problem ist. Mit der Kette der Kommando-Zerlegung (Rangfolge) habe ich mich auseinandergesetzt und noch ein wenig probiert, bekomme es aber nicht hin.
Weiß jemand Rat?
Grüße,
Thomas.