So führen Sie ein Bash-Skript auf einem Linux-Host von Windows aus mit plink aus

So führen Sie ein Bash-Skript auf einem Linux-Host von Windows aus mit plink aus

Ich versuche, eine einfache Bat-Datei unter Windows auszuführen, die ein Bash-Skript auf einem Remote-Linux-Computer ausführt. Das Bash-Skript befindet sich auf dem Linux-Computer.

Beispiel: Ich versuche, diesen Befehl in einer Batchdatei unter Windows auszuführen:

plink.exe -pw <password> root@<ip> bash -c "/root/script.sh"

Ergebnis:

  • Beim Ausführen unter Windows bleibt die Eingabeaufforderung dauerhaft hängen
  • Wenn Sie das entsprechende Skript ( /root/script.sh) auf der Linux-Maschine ausführen, funktioniert es einwandfrei.
  • Das Skript enthält Ruby-Code und ich verwende RVM

Antwort1

was sehen Sie, wenn Sie Folgendes ausführen? Dadurch wird das Skript schrittweise durchgegangen.

plink.exe -pw <password> root@<ip> bash -x "/root/script.sh"

Beachten Sie außerdem, dass die Umgebungseinrichtung bei Remote-Ausführung anders ist. Sie müssen sicherstellen, dass alles richtig eingerichtet ist, z. B. PATH. Ihr Skript muss also entweder /usr/bin/ruby statt ruby ​​sagen oder /usr/bin zum PATH hinzufügen usw.

Oder beschaffen Sie sich eine Datei, mit der Sie sie einrichten können.

verwandte Informationen