2017-09-27 4 views
0

Ich möchte ein bash Skript von meinem Linux-Rechner ausführen. Es sollte eine Verbindung zu F5 Load Balancer herstellen und eine Reihe von Befehlen auf dem Load Balancer ausführen.F5 Load Balancer Interaktion

Arbeits Befehl F5 verbinden:

sshpass -p "password" ssh [email protected] 

Bash-Skript Ich habe versucht:

#!/bin/bash 

sshpass -p "password" ssh [email protected] 

modify /ltm pool poolA_8080 members modify { 10.32.76.21:8080 { session user- 
disabled state user-down } } 

Wenn ich dieses Skript von meinem Linux-Rechner laufen, meldet es F5 in aber die ' Modify 'Befehl wird nicht ausgeführt.

Antwort

0

Wenn ich das richtig verstehe, gibt es eine neue Zeile Zeichen nach ssh. Versuchen Sie folgendes:

#!/bin/bash 

sshpass -p "password" ssh [email protected] \ 
"modify /ltm pool poolA_8080 members modify { 10.32.76.21:8080 { session user-disabled state user-down } }" 

Nebenbei bemerkt, Speichern von Passwörtern in Skripts ist keine gute Idee, da sie leicht lecken können. Verwenden Sie besser eine schlüsselbasierte ssh-Anmeldung.

+0

Danke smbear. Ich habe Änderungen nach Ihrem Vorschlag gemacht, dann hat es funktioniert. Ich habe geändert, um den Benutzernamen und das Passwort abzufragen. – SenthilNathan

+0

Möchten Sie die Verwendung von ‚\‘ nach der sshpass Befehl – SenthilNathan

+0

'man bash' verstehen:„Ein nicht zitierte Backslash (\\) ist die Escape-Zeichen Es bewahrt den wörtlichen Wert des nächsten Zeichens, das folgt, mit der Ausnahme. von . Wenn ein \ Paar angezeigt wird, und der umgekehrten Schrägstrich selbst als Zeilenfortsetzungs notiert, behandelt wird, das \ (das heißt, es wird aus dem Eingangsstrom entfernt und effektiv ignoriert).“ – smbear