
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.