Übertragen einer Variablen an einen Remote-Host in einem Bash-Skript mit ssh und EOF [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Externe Shell-Skriptvariable über ssh @ übergeb 2 Antworten

Ich habe ein Skript, das eine Liste von Servern analysiert, nach etwas sucht und Befehle ausführt, wenn die Umstände stimmen. Der Hauptserver stellt über ssh eine Verbindung zu ihnen her und führt alle Befehle in der EOF-Anweisung aus:

#!/bin/bash

# parsing servers
# defining one local variable $VAR

ssh -T -p 1234 root@"server-ip" "$variable" << 'EOF'
# doing some stuff...
var_result=$(mysql -hhost -uuser '-ppasswort' -Ddatabase -N -e "SELECT something FROM somewhere WHERE value=$VAR;")
EOF

Ich weiß, dass die Variable passieren kann, wenn ich die einfachen Anführungszeichen aus dem EOF entferne, aber wenn ich das tue, funktionieren die mysql-Anweisungen nicht und alles bricht zusammen.

Ich weiß, dass es Möglichkeiten gibt, eine Variable zu übertragen, aber Dinge mit ";" zwischen Optionen funktioniert bei mir nicht (das Skript versucht es als Befehl auszuführen)

Irgendwelche Ideen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage