я получаю следующее сообщение об ошибке, что ослабевает на последнюю строку моего кода (который пуст):Ошибка при использовании Баша здесь-док «неожиданный конец файла»
syntax error: unexpected end of file
Я не могу понять почему он это говорит. Я просто пытаюсь использовать here-doc
для подключения к SSH:
#!/bin/sh
connectToServer() {
ssh -t [email protected]$1 <<- ENDSSH
echo "Connected to server!"
ENDSSH
}
connectToServer $1
Что случилось с этим кодом?
EDIT
Благодаря тем, кто помог мне устранить это. В моем скрипте было несколько ошибок. Я использовал пробелы на линии:
echo "Connected to server"
вместо символов табуляции. Я также включал пробелы перед закрытием ENDSSH
, которые вызывали EOF. Эти изменения были частью моей проблемы, но последняя вещь, которая разрешила это, заключалась в удалении дополнительного космического символа, который появился после моего закрытия ENDSSH
.
Я просто попробовал это, и ошибка такая же. : -/ –
Я воспроизвел ту же ошибку, помещая пробелы перед закрытием 'ENDSSSH'. Уходит, когда я разделяю все ведущие пробелы. – anubhava
Я передал свой скрипт в 'hexdump -C' и обнаружил, что он не был ведущим пространством или символами перед' ENDSSH', это был символ «0a» или символ новой строки, следующий за «ENDSSH». Я убрал это, и теперь он работает. Спасибо, что помог мне найти это! –