2017-11-30 2 views
0

Dies ist meine erste Frage zu StackOverFlow. Ich versuche, ein Shell-Skript auf einem Quellserver zu schreiben, von wo aus ich eine Verbindung zu einem anderen Server herstellen muss, um einen Wert zu erhalten und in einer Variablen zu speichern. Dann muss ich vom Zielserver trennen und diese Variable im Rest des Skripts verwenden. Die folgende Logik, die ich versuche zu verwenden, bringt kein Ergebnis.Abrufen des Variablenwerts über ssh vom Ziel zum Quellserver

ssh <Destination server IP> 
status=sudo systemctl status httpd | grep active 

Jetzt erwarte ich Status Variable sollte den Status des httpd-Dienst des Zielservers enthalten, die ich in der aktuellen Quellserver Skript verwenden können, aber der Wert ist leer. Außerdem muss die Verbindung zum Zielserver getrennt werden. Ich bin mir nicht sicher, wie ich damit verfahren soll.

Kann jemand bitte dabei helfen? Vielen Dank im Voraus.

+0

Vielleicht brauchen Sie bash –

+0

Ich benutze Shell-Skript als. Sh, was meinst du sonst? Könnten Sie bitte Ihre Lösung ausarbeiten? -Danke – ParasWadhwa

+0

Haben Sie es gelöst? –

Antwort

0

Sie können vom Client-Server ausführen:

ssh user @ Ziel-server-ip 'bash -s' < your-command.sh> your-script.sh

wenn Ihr-Befehl wie:

status=sudo systemctl status httpd | grep active 
echo status 

und Ihr your-script.sh muss den Status von der Standardeingabe lesen.

In Beispiel, vielleicht existiert bessere Lösungen.

+0

Es tut mir leid, dass meine Antwort für Ihre Frage nicht vollständig ist. Sie müssen den Status erhalten .... mmm, ich denke, Sie können den Status echo und umleiten zu einer Datei oder zu einem anderen Skript ... – Curlas

+0

Redirecting durch eine Datei und holen Ausgabe ist möglich, aber es ist keine Option in unserer Umgebung, weil leider erlaubt unser Kunde das nicht, daher suchte ich nach einer Lösung, in der wir den Wert der Variablen holen könnten. Haben wir eine solche Alternative? – ParasWadhwa

Verwandte Themen