2015-04-04 166 views
-1

我可能在這裏錯過了一些非常簡單的東西,但是我在構建運行bash shell腳本的automator服務時遇到了問題。當插入到shell中時,腳本的所有元素都可以正常工作,但由於某種原因automator服務無法運行。該腳本調用的ffmpeg從取景器轉換傳遞給它的音頻文件:Automator bash shell腳本問題

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的命令在其自己的終端運行正常。錯誤來自哪裏?

謝謝!

+0

用'set -x','echo「f = $ f,fn = $ fn」或'echo〜/ Applications/ffmpeg/ffmpeg -i「$ f」-acodec libmp3lame顯示腳本試圖執行的內容-q:a 7 -a 8000 -ac 1「$ fn.mp3」' – 2015-04-06 12:02:53

+0

感謝您的幫助,@WalterA。經過太長時間後,它終於在終端和automator如何處理變量字符串方面有所不同。雖然該命令在終端中執行正常,但我需要在automator中的fn變量周圍添加括號。 〜/ Applications/ffmpeg/ffmpeg -i「$ f」-acodec libmp3lame -q:a 7 -a 8000 -ac 1「$ {fn} .mp3」 運行得很好。 – Dae 2015-04-06 12:36:30

回答

0

它最終在終端和automator如何處理變量字符串方面有所不同。雖然該命令在終端中執行正常,但我需要在automator中的fn變量周圍添加括號。

~/Applications/ffmpeg/ffmpeg -i "$f" -acodec libmp3lame -q:a 7 -ar 8000 -ac 1 "${fn}.mp3" 

運行得很好。