У меня, вероятно, отсутствует что-то действительно простое, но мне сложно создать службу автомата, которая запускает сценарий оболочки bash. Все элементы сценария отлично работают при подключении к оболочке, но по какой-то причине служба автомата не работает. Сценарий вызывает FFmpeg для преобразования аудио-файла, переданного ему из искателем:Ошибка сценария оболочки bash bash
for f in "[email protected]"
do
fn="${f%%.*}"
~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 -ac 1 "$fn.mp3"
done
скрипт работает нормально без команды FFmpeg, а команда FFmpeg работает нормально в терминале по себе , Откуда возникает ошибка?
Спасибо!
Показать, что скрипт пытается выполнить с помощью 'set -x',' echo 'f = $ f, fn = $ fn "или' echo ~/Applications/ffmpeg/ffmpeg -i "$ f" -acodec libmp3lame -q: a 7 -ar 8000 -ac 1 "$ fn.mp3" ' –
Спасибо за помощь @WalterA. После долгой работы с ним в конечном итоге возникла некоторая разница в том, как терминал и автомат обрабатывают переменные строки. Пока команда выполняется отлично в терминале, мне нужно было добавить скобки вокруг переменной fn в automator. ~/Приложения/ffmpeg/ffmpeg -i "$ f" -acodec libmp3lame -q: a 7 -ar 8000 -ac 1 "$ {fn} .mp3" работает нормально. – Dae