Итак, я пытаюсь запустить ftp-скрипт, но я ударяю об этом. Вот сценарий:EOT в условном разделе сценария bash
#!/bin/bash
HOST='192.168.178.122'
USER='ftpuser'
PASSWD='passa.2015'
DATE=`date +%d-%m-%Y`
FILE="archive-"$DATE".tar.gz"
prep=0
echo "File is="$FILE
echo "Prepare_val="$prep
if [ $prep -eq 0 ]
then
find Web -maxdepth 1 -mindepth 1 -not -type l -print0 | tar --null --files-from - -cpzvf $FILE
ftp -n $HOST << EOT
user $USER $PASSWD
put $FILE
quit
bye
EOT
fi
Когда я пытаюсь и запустить этот сценарий, он возвращает следующую ошибку:
ftp-script.sh: 22: ftp-script.sh: Syntax error: end of file unexpected (expecting "fi")
Если я удалить раздел EOT, он выполняет хорошо, но СРВ является единственным средством с помощью которых команды ftp могут запускаться без вмешательства пользователя. Кто-нибудь знает, как разместить EOT в условном выражении, не вызывая ошибки, которые я получаю.
попробуйте использовать << - EOF вместо << EOF (Примечание дефис) сохраняться ваши отступы – ritesht93
Кроме того, '<< - EOF' требует вкладки в одиночку, как отступы , а не пробелы. – chepner