mit Ich erhalte den folgenden Fehler, der in der letzten Zeile meines Codes ist das Markieren (was leer ist):Fehler bei der ein Bash hier-doc „unerwartetes Ende der Datei“
syntax error: unexpected end of file
Ich verstehe nicht, warum es das sagt. Ich versuche einfach ein here-doc
für eine SSH-Verbindung zu verwenden:
#!/bin/sh
connectToServer() {
ssh -t [email protected]$1 <<- ENDSSH
echo "Connected to server!"
ENDSSH
}
connectToServer $1
Was ist mit diesem Code falsch?
EDIT
Dank denen, die mich dies zu beheben geholfen. Es gab ein paar Dinge, die mit meinem Drehbuch nicht in Ordnung waren. Ich benutzte Leerzeichen in der Zeile:
echo "Connected to server"
anstelle von Tab-Zeichen. Ich habe auch Leerzeichen vor dem abschließenden ENDSSH
eingefügt, der den EOF verursacht hat. Diese Änderungen waren ein Teil meines Problems, aber die letzte Sache, die es löste, war das Entfernen eines zusätzlichen Leerzeichen, das nach meinem Schließen ENDSSH
erschien.
Ich habe es gerade versucht und der Fehler ist der gleiche. : -/ –
Ich reproduzierte denselben Fehler, indem ich Leerzeichen vor dem Schließen von 'ENDSSH' platzierte. Es ging weg, als ich alle führenden Leerzeichen entfernte. – anubhava
Ich piped mein Skript zu "hexdump -C" und stellte fest, dass es kein führendes Leerzeichen oder irgendwelche Zeichen vor "ENDSSH" war es ein "0a" oder Newline-Zeichen nach "ENDSSH". Ich habe das entfernt und jetzt funktioniert es. Danke, dass Sie mir geholfen haben, das zu finden! –