2014-09-30 62 views
1

我有一个错误

test: line 16: syntax error near unexpected token `done' 
test: line 16: `    done < $vid' 

我的代码测试

read -p "entrer Liens Video ou le nom d'un fichier contenant des liens:" vid 
      #Download Video 
      if [[ -e $vid ]] ; then 
      while read line 
      do 
       python vid-xml-decoder/ultimate.py $line 
       find . -name "*.flv" | while read line 
      do 
       name="$(basename "${line}" .flv)" 
       #Variable de déplacement de fichier 
       repExport="./export/" 
       #mux des fichier 
       ffmpeg -i "${name}.flv" -vcodec copy -acodec copy mkvtemp.mkv 
       mkvmerge -v -o "${repExport}${name}.mkv" --default-track 0 --language 0:fre "${name}.ass" mkvtemp.mkv && \ 

       done < $vid 
       else 
        python vid-xml-decoder/ultimate.py $vid 
        # rest of video processing steps 
        find . -name "*.flv" | while read line 
      do 
       name="$(basename "${line}" .flv)" 
       #Variable de déplacement de fichier 
       repExport="./export/" 
       #mux des fichier 
       ffmpeg -i "${name}.flv" -vcodec copy -acodec copy mkvtemp.mkv 
       mkvmerge -v -o "${repExport}${name}.mkv" --default-track 0 --language 0:fre "${name}.ass" mkvtemp.mkv && \ 
fi 
在我的剧本

我想提供两个可能的手动或使用文本输入链接文件相同的代码

为例

www.website.me/348744jnm 
www.website.me/43545ljkjjk 
www.website.me/554erer5cf 

我在我的文本文件3个链接和脚本随后将复用开关下载到另一MUX下载链接等

注:该脚本,如果你想了解更多信息必须接受的空间和特殊字符

请不要犹豫:)

TX的帮助

+0

在最少使用合理的缩进。它可以帮助你至少发现一些你现在有的语法问题......比如你没有正确地结束'else'块中的'while'或者你没有连续的斜杠需要它们(并且可能正在吞咽你想要自己解析的线。 – 2014-09-30 17:30:42

回答

0

误差来源:

  mkvmerge -v -o ..... nguage 0:fre "${name}.ass" mkvtemp.mkv && \ 
      # HERE ------------------------------------------------->  ^^ 
      # probably missing one line before "done" 
      done < $vid 

评论:

  • 如果您开始使用函数,则更易于调试和维护。破坏你的代码更maintenable部分...你可以做任何事情functinos与外部命令,如:funcname | while read ..或重定向输出像funcname > somehere等..
  • 双引号变量