Баш EOF в если заявление - PullRequest
       9

Баш EOF в если заявление

2 голосов
/ 19 февраля 2012

Я пытаюсь выполнить действие в операторе IF ELSE в Bash, но получаю ошибку, подобную этой:

Синтаксическая ошибка: неожиданный конец файла (ожидается "fi")

Теперь я новичок в этом, поэтому, вероятно, решение моей проблемы не должно быть таким сложным:)

if [ "$DAYNAME" = 'Sunday' ]; then
    echo 'The backup will be uploaded'
    ftp -n $HOST <<EOF
        quote USER $USER
        quote PASS $PASSWD
        put $filetoday
        delete ${filethreeweeksago}
        quit
    EOF
fi

Конечно, вары уже заполнены.

Я думаю, что это связано с нотацией EOF, потому что, когда я их удаляю, проблема исчезает. К сожалению, я не знаю, как использовать код без записи EOF.

Может кто-нибудь сказать мне, почему эта ошибка появляется?

Ответы [ 2 ]

13 голосов
/ 19 февраля 2012

Бросьте пробелы, и это должно работать:

    EOF
^^^^
1 голос
/ 16 мая 2018

добавить тире в EOF, если вы хотите сохранить вкладки: от:

ftp -n $HOST <<EOF

до:

ftp -n $HOST <<-EOF
...