我碰到下面的錯誤是在我的代碼的最後一行標記(裏面是空的)「意外的文件結尾」:錯誤這裏-DOC
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
有什麼不對的代碼?
編輯
感謝你們誰幫我解決這個。我的劇本有兩個錯誤,我正在使用線上的空格:
echo "Connected to server"
而不是製表符。我還包括導致EOF的關閉ENDSSH
之前的空格。這些更改是我的問題的一部分,但解決它的最後一件事是刪除我的關閉ENDSSH
後出現的額外空間字符。
我剛試過這個,錯誤是一樣的。 : -/ –
我通過在關閉'ENDSSSH'之前放置空格來重現相同的錯誤,當我剝離所有前導空格時,它將消失。 – anubhava
我將腳本導入到'hexdump -C'中,發現它不是前導空格或'ENDSSH'前的任何字符,它是'ENDSSH'後面的'0a'或換行符。我剝去了它,現在它工作。謝謝你幫我找到這個! –