2014-09-30 57 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等..
  • 雙引號變量