[gelöst] Scripts in reccmds.conf
-
-
-
hm, die " von Blade_Runner sind mit \ escaped, und
funktioniert bei mir und gibt
aus. Also würde ich mal sagen, dass vdr das richtig macht und das Script
irgendwo einen Fehler hat und das Escapen nicht richtig macht ...
~ Markus
-
Man könnte beim Einlesen noch mal das folgende probieren:
FNAME="${2//\"/\\\"}"
Das sollte die " erneut escapen.
Eigentlich nicht sinnvoll, aber vielleicht bringt es was...
Bzw. Man ersetzt die " einfach mal durch was anderes (zB. X), um zu sehen, ob die wirklich nicht ankommen:
FNAME="${2//\"/X}"
-
Oh, Mann
Ich hab mir nochmal den Aufruf in der vdr Software angeschaut:
if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
und in Command steht genau das, was in der Zeile im syslog auftaucht
Okt 12 10:51:17 mannitec02 vdr[33591]: [33591] executing command '/usr/local/bin/convnow.sh vdrcutter "/video/%Das_Phänomen_\"Blade_Runner\"/2023-10-08.22.08.5-0.rec"'
drinsteht, also mit geescapten Tüddelchen. Ich hab dann mal ein kleines Testscript erzeugt mit dem ich nur ein echo auf den Parameter in eine Logdatei gemacht habe. Und was soll ich sagen: Die Tüddelchen werden ins log geschrieben. Also Übergabe OK.
Dann hab ich mein convnow.sh wieder in den Ursprungszustand (Backup) zurückgesetzt. Zusätzlich noch dies ergänzt um den eingerückten Teil:
CodeFNAME=$(echo ${FNAME}|sed \ -e "s/'/\\\'/g" \ -e 's/\"/\\\"/g' \ -e "s/(/\\\(/g" \ -e "s/)/\\\)/g" \ -e "s/&/\\\&/g")
Und ... Es funktioniert. Da wird doch der Hund in der Pfanne verrückt!
Also, ein großes "Sorry for the Noise"!!!
msv
-
Ich frage mich an der Stelle halt warum man über /bin/sh geht? Script direkt aufrufen und Parameter dann dafür übergeben. Dann wäre auch kein Escaping nötig.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!