Автоматизация bash-скрипта FFMPEG
У меня возникла небольшая проблема при попытке создать автоматический скрипт Bash, чтобы я мог легко конвертировать файлы webm в mp3. Кусок кода, который я использую
for FILE in *.webm; do
echo -e "Processing video '\e[32m$FILE\e[0m'"
ffmpeg -i "${FILE}" -acodec libmp3lame -aq 1 -y "${FILE%.webm}.mp3"
done
это прекрасно работает, если я набираю его в терминале и конвертирую все файлы в текущем каталоге, как я и прошу. Но это не совсем удобно для повседневных задач, так как я должен либо напечатать, либо скопировать и вставить все это, чтобы оно работало. Поэтому я открыл текстовый редактор и написал:
#!/bin/bash
for FILE in *.webm; do
echo -e "Processing video '\e[32m$FILE\e[0m'"
ffmpeg -i "${FILE}" -acodec libmp3lame -aq 1 -y "${FILE%.webm}.mp3"
done
и сохранил вывод как файл webmp3.sh.
После этого я установил его разрешения с помощью sudo chmod +x ./webmp3.sh
и попытался выполнить это набрав ./webmp3.sh
Это не работает, и консоль возвращает это вместо:
./webmp3.sh: line 2: syntax error near unexpected token `$'do\r''
'/webmp3.sh: line 2: `for FILE in *.webm; do
Так что он работает при ручном вводе, но не при сценарии, что заставляет меня думать, что я не написал для него подходящий сценарий. Может ли кто-нибудь помочь мне с этим?