Ich greife mit Bash-Skripten auf einen Remote-Computer unter Linux zu

Ich greife mit Bash-Skripten auf einen Remote-Computer unter Linux zu

Ich greife mit dem SSH-Befehl und einer PEM-Datei auf einen Remote-Computer zu. Mein Code lautet wie folgt:

#!/bin/bash
ssh -i rijo.pem [email protected] <<EOF
sudo -s
var=`cat /opt/revsw-config/varnish/sites/rijotests4934567_revsw_net.json | egrep 'SERVER_NAME' | cut -b 19-44`
EOF

Wenn ich dieses Skript verwende, kann ich den Wert nicht in der Variable speichern, aber wenn ich den Befehl im Terminal ausführe, funktioniert es. Wenn ich das Skript ausführe, erhalte ich eine No such file or directory foundFehlermeldung. Können Sie mir dabei bitte helfen?

Antwort1

Der Befehl

cat /opt/revsw-config/varnish/sites/rijotests4934567_revsw_net.json | egrep 'SERVER_NAME' | cut -b 19-44

wird ausgeführtörtlichauf Ihrem Computer, bevor es an SSH gesendet wird. Das ist wahrscheinlich nicht das, was Sie wollten. Das „Here-Dokument“ führt Variablen- und Prozesssubstitutionen durch, daher müssen Sie die Backticks umgehen, um das gewünschte Ergebnis zu erhalten.

verwandte Informationen