意外令牌«完成»附近的语法错误

时间:2014-10-17 01:52:06

标签: linux bash

错误

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文件中的所有m2ts文件从m2ts文件中提取音频到AC3

提前谢谢

1 个答案:

答案 0 :(得分: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