Hi,
ich komm hier nicht weiter. Ich will Aufrufe für ffmpeg in ein Shell-Script speichern und das dann aufrufen. Ich will die Ausgabedatei nach ffmpeg noch umbenennen. Das Ergebnis soll so aussehen:
[src=c]ffmpeg -i input -acodec mp3 output-temp ; mv output-temp output[/src]
Wieso das mv? Ich will später noch einbauen, dass im Falle eines Abbruchs des Scriptes die unfertige Ausgabedatei gelöscht wird. Ich muss ja aber irgendwie fertige von unfertigen unterscheiden können. Da ich das ganze per For-Scleife mache sieht mein Script dafür so aus:
[src=c]for file ; do
echo -n ffmpeg -i "$file" -acodec mp3 "$file"-temp >> /tmp/ffmpeg.sh ; echo mv "$file"-temp "$file"-new.mp3 >> /tmp/fmpeg.sh
done[/src]
Das fertige Shell-Script beinhaltet dann für jede MP3-Datei eine Zeile, jede Zeile besteht aus 1x ffmpeg und 1x mv. Wie ich im Falle eines Abbruchs des Scriptes das löschen umsetze weiß ich noch nicht, das kommt später. Aber irgendwie funktioniert das mit dem Shell-Script nicht. Das Ergebnis ist hier:
[src=c]ffmpeg -i input -acodec mp3 output-tempmv output-temp output[/src]
Es wird also das mv ohne Leerzeichen und ohne ; an ffmpeg gequetscht. Ich vermute er interpretiert hier das ; als Trennung für die beiden echo-Aufrufe. Wenn ich aber z. B. dazwischen ein
[src=c]echo ";"[/src]
einfüge, wird das komplett ignoriert.
ich komm hier nicht weiter. Ich will Aufrufe für ffmpeg in ein Shell-Script speichern und das dann aufrufen. Ich will die Ausgabedatei nach ffmpeg noch umbenennen. Das Ergebnis soll so aussehen:
[src=c]ffmpeg -i input -acodec mp3 output-temp ; mv output-temp output[/src]
Wieso das mv? Ich will später noch einbauen, dass im Falle eines Abbruchs des Scriptes die unfertige Ausgabedatei gelöscht wird. Ich muss ja aber irgendwie fertige von unfertigen unterscheiden können. Da ich das ganze per For-Scleife mache sieht mein Script dafür so aus:
[src=c]for file ; do
echo -n ffmpeg -i "$file" -acodec mp3 "$file"-temp >> /tmp/ffmpeg.sh ; echo mv "$file"-temp "$file"-new.mp3 >> /tmp/fmpeg.sh
done[/src]
Das fertige Shell-Script beinhaltet dann für jede MP3-Datei eine Zeile, jede Zeile besteht aus 1x ffmpeg und 1x mv. Wie ich im Falle eines Abbruchs des Scriptes das löschen umsetze weiß ich noch nicht, das kommt später. Aber irgendwie funktioniert das mit dem Shell-Script nicht. Das Ergebnis ist hier:
[src=c]ffmpeg -i input -acodec mp3 output-tempmv output-temp output[/src]
Es wird also das mv ohne Leerzeichen und ohne ; an ffmpeg gequetscht. Ich vermute er interpretiert hier das ; als Trennung für die beiden echo-Aufrufe. Wenn ich aber z. B. dazwischen ein
[src=c]echo ";"[/src]
einfüge, wird das komplett ignoriert.