2014-10-17 66 views
-1

錯誤語法錯誤«做»

m2tsac3.sh: ligne9: Syntax error near unexpected token « done » 
m2tsac3.sh: ligne9: `   done' 

腳本

#!/bin/bash 

find . -name "*.m2ts" | while read line 
      do 
      name="$(basename "${line}" .m2ts)" 
      echo "${name}" 
      ffmpeg -i "${name}".m2ts -map 0:1 -acodec ac3 "${name}".ac3 

      done 

你好,我有一個語法錯誤

劇本是從M2TS中提取音頻文件到AC3所有文件夾中的m2ts文件

提前致謝

+0

第二個管道'bash'在'&&'之後的位置在哪裏? – chepner 2014-10-17 01:54:22

+0

我刪除&& /是錯誤的 ,它的工作原理,但它不會循環 – 2014-10-17 02:09:43

回答

0

ffmpeg從標準輸入中讀取,消耗來自find的其餘輸入。從/dev/null重定向其標準輸入:

find . -name "*.m2ts" | while read line 
     do 
     name="$(basename "${line}" .m2ts)" 
     echo "${name}" 
     ffmpeg -i "${name}".m2ts -map 0:1 -acodec ac3 "${name}".ac3 < /dev/null 

     done 
+0

tx它的工作原理! – 2014-10-17 02:15:55