我收到以下错误,该错误在我的代码的最后一行标记(为空):
syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么会这样说.我只是想尝试使用here-docssh连接:
#!/bin/sh
connectToServer() {
ssh -t root@$1 <<- ENDSSH
echo "Connected to server!"
ENDSSH
}
connectToServer $1
Run Code Online (Sandbox Code Playgroud)
这段代码出了什么问题?
编辑
感谢那些帮助我解决这个问题的人.我的剧本有一些问题; 我在线上使用空格:
echo "Connected to server"
Run Code Online (Sandbox Code Playgroud)
而不是制表符.在关闭之前我还包括空间,ENDSSH这导致了EOF.这些变化是我的问题的一部分,但解决它的最后一件事是删除我关闭后出现的额外空格字符ENDSSH.
该ENDSSH标志必须是在左边距:
connectToServer() {
ssh -t root@$1 << ENDSSH
echo "Connected to server!"
ENDSSH
}
Run Code Online (Sandbox Code Playgroud)
使用时,<<- ENDSSH您可以缩进标记,但必须缩进Tab字符,而不是空格.
| 归档时间: |
|
| 查看次数: |
4061 次 |
| 最近记录: |