2014-09-30 4 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 

в моем сценарии я хочу предложить два возможных ввода ссылки вручную или с текстом файл в том же коде

Exemple

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

У меня есть 3 ссылки в моем текстовый файл и сценарий будет загружать затем мультиплексор переключатель на другой Мультиплексор ссылки для скачивания и т.д.

Примечание: Сценарий должен принять пространство и особый характер

, если вы хотите получить больше информации, пожалуйста, не стесняться :)

ТХ для вашей помощи

+0

На в наименьшей степени используйте разумный отступ. Это поможет вам найти по крайней мере некоторые проблемы с синтаксисом, которые у вас есть в настоящее время ... например, тот факт, что вы не закончили «while» в блоке 'else' или что у вас есть косые черты продолжения в строках, которые не нуждаются в них (и, возможно, проглатывают линии, которые вы собираетесь анализировать самостоятельно. –

ответ

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 и так далее ..
  • переменные двойные кавычки
Смежные вопросы