Синтаксическая ошибка цикла с условием продолжения

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

Я испытываю некоторые затруднения из-за этого цикла:

get_install(){
while ((!${pkg}-finished))
do
  if [ "$CURNUM" -lt "$_MAXNUM" ]; then
    let CURNUM=$CURNUM+1
    eval "aria2c -c -j ${_MAXNUM} -x ${_MAXNUM} -s ${_MAXNUM} \
           -i /tmp/${pkg}-dl --min-split-size=1M --connect-timeout=600 \
           --timeout=600 -m0 && find -type f -name "$(cat /tmp/${pkg}-name)" \
           -execdir mv -ft "$APTCACHE" {} \+ && \
           ${_APTMGR} -y install $(cat /tmp/${pkg}-name) \
           "${APTCACHE}/$(cat /tmp/${pkg}-name)" && let CURNUM=$CURNUM-1 && \
           ${pkg}-finished=1 &"
  else
    eval "sleep 1 &"
done
}

(Код немного отредактирован для удобочитаемости, по сравнению с источником.)

Это дает мне:

/usr/sbin/apt-fast: line 297: syntax error near unexpected token `done'
/usr/sbin/apt-fast: line 297: `done'

Я уверен, что это - что-то незначительное, которое я пропускаю. Если кому-либо нужна копия целого сценария, это здесь: http://www.filedropper.com/apt-fast_1 я возьму любые другие критические анализы на нем также! Чтобы попытаться выполнить его, Вы, возможно, должны установить способно-быстрый от ppa сначала, инструкции здесь: https://github.com/ilikenwf/apt-fast После установки, просто перезапишите/usr/sbin/apt-fast с той, связанной выше.

1
задан 18 January 2015 в 14:26

1 ответ

Поскольку g_p сказал в комментариях, Вашем if [ "$CURNUM" -lt "$_MAXNUM" ] не завершается. Bash ожидает a fi перед while done.

3
ответ дан 7 December 2019 в 12:47

Другие вопросы по тегам:

Похожие вопросы: