2016-05-26 3 views
0

Betrachte ich habe zwei Server A und B.
Und auf dem Server B habe ich ein Skript test.sh.Wie führe ich ein Skript auf einem anderen Server mit FTP in UNIX aus? Wie man Variable darauf übergibt?

Ich will die A test.sh vom Server per FTP-Verbindung zwischen ihnen auszuführen, und auch ich mag eine Variable, um das Skript von B zu übergeben, aber die Variable bei A. definiert

OR

Wenn ich SSH zu Server B von A, kurz nach SSH-Befehl, ich werde das Shell-Skript bei B. ausführen Aber wenn ich eine Variable hinzufügen möchte (die ich definiert habe, während ich bei A war) als ein Argument zu Skript von B Wie würde ich es tun? irgendein Vorschlag ?

Bitte vorschlagen.

Vielen Dank im Voraus.

Antwort

0

Einige, aber nicht viele, FTP-Server-Unterstützung SITE EXEC command.

Im gemeinsamen * nichts ftp Client können Sie site Befehl den SITE FTP-Befehl auszuführen:

site EXEC test.sh param1 param2 

Aber das wird wahrscheinlich mit dem Server nicht funktionieren. In den meisten Fällen können Sie einen Shell-Befehl nicht über FTP ausführen.

Wenn Sie jedoch einen SSH/Shell-Zugriff haben, verwenden Sie die ssh, um das Skript auszuführen.

+0

Ich versuchte, Verbindung herzustellen mit SSH, nach dem Verbinden mit Maschine B, ich möchte ein Skript bei B ausführen, aber ich möchte auch eine Variable von A Server an das Skript von B als Argument übergeben. können Sie bitte vorschlagen? –

+0

Aber das ist eine ganz andere Frage. Dieser ist über FTP. Ich glaube, ich habe es beantwortet. Überlege, meine Antwort zu akzeptieren. Stellen Sie eine neue Frage für das SSH, und stellen Sie sicher, dass Sie den Code, den Sie jetzt haben, einbeziehen. –

+0

ok sicher. Danke :) –

0

ohne den Code zu sehen, ist schwer zu sehen, was Sie genau zu tun versuchen, aber wenn Sie doppelte Anführungszeichen verwenden, um Ihre Variable sollte, bevor der Wert davon auf dem Remote-Host, ex senden interpoliert werden:

ssh [email protected] "~/bin/script.sh $Local_Variable" 
+0

kurz nach ssh gibt es einige willkommene Nachricht und Banner, die auf Server B kommt und wegen denen der Befehl mit ssh vor dem Terminal der Maschine B ausgeführt ausgeführt wird. irgendeine Lösung für dieses Problem? –

+0

Können Sie senden, was Sie versuchen zu tun und die Antwort, die Sie bekommen? – Faizers

Verwandte Themen