@Ras

Bash: почему не работает конструкция EOF в if?

Добрый день.
Знатоки bash подскажите, почему следующая конструкция не работает? (ругается на EOF)
Если убрать проверку, все работает, гуглил, найденные советы пробовал, но никак.

if [ "$doUpload" = "upload" ];
then    
    lftp -u $ftpUser,$ftpPassword $ftpServer <<EOF
    set ftp:ssl-protect-data true
    set ssl:verify-certificate no
    put $backupName.tar.gz
    bye
    EOF    
fi
exit 0


Собственно ошибка:
backup.sh: line 182: warning: here-document at line 152 delimited by end-of-file (wanted `EOF')
backup.sh: line 183: syntax error: unexpected end of file
  • Вопрос задан
  • 649 просмотров
Решения вопроса 1
@notwrite
А вот нефиг украшательствами заниматься.
EOF должен быть в самом начале строки.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
CMD="set ftp:ssl-protect-data true
set ssl:verify-certificate no
put $backupName.tar.gz
bye"

if [ "$doUpload" = "upload" ];
then    
    lftp -u $ftpUser,$ftpPassword $ftpServer<<<"${CMD}"
fi
exit 0
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы