Backticks werden den Befehl für die lokale Shell ausführen und die Ergebnisse in die Befehlszeile eingeben. Was Sie sagen, ist 'execute ./test/foo.sh und dann übergeben Sie die Ausgabe, als ob ich es auf der Kommandozeile hier eingegeben hatte'.
Versuchen Sie den folgenden Befehl, und stellen Sie sicher, dass das der Pfad von Ihrem Ausgangsverzeichnis auf dem Remotecomputer zu Ihrem Skript ist.
ssh [email protected] './test/foo.sh'
Auch das Skript muss auf dem Remotecomputer sein. Das bedeutet, dass Sie sich im Wesentlichen mit dem aufgelisteten Befehl als Shell in den Remote-Computer einloggen. Sie können kein lokales Skript auf einem Remote-Computer wie diesem ausführen (es sei denn, es gibt einen lustigen Trick, den ich nicht kenne).
Hier ist der Spaß Trick, von http://wpkg.org/Executing_local_programs_and_scripts_remotely genommen: cat/usr/bin/program | ssh user @ server "cat>/tmp/programm; chmod 755/tmp/programm;/tmp/programm --argumente" –
Ja, ich dachte, sowas wäre möglich, aber du führst nicht wirklich ein lokales Programm aus, du Kopieren Sie es einfach unnötig kompliziert. Wenn Sie das tun, können Sie einfach scp /path/to/script.sh Benutzer @ Server: && ssh Benutzer @ Server ./script.sh Ich denke, Sie müssen ein Passwort zweimal auf diese Weise eingeben , also eh. – psanf
@MarkRushakoff, danke dafür. Genau das, was ich brauchte! – Dan