2017-09-27 6 views
0

私のLinuxマシンからbashスクリプトを実行します。 F5ロードバランサに接続し、ロードバランサ上で一連のコマンドを実行する必要があります。私は私のLinuxマシンからこのスクリプトを実行すると、それはF5に記録しますが、「F5ロードバランサの対話

#!/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 } } 

:私が試した

sshpass -p "password" ssh [email protected] 

bashスクリプト:F5を接続するために使用されるコマンドの作業

コマンドが実行されていません。

答えて

0

私はこの権利を理解していれば、sshの後に改行文字があります。次のように試してみてください:

#!/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 } }" 

注記:パスワードをスクリプトに保存することは、簡単に漏洩する可能性があるため、お勧めできません。キーベースのsshログインの使用をよくしてください。

+0

ありがとうございます。私はあなたの提案に従って変更を加えました。それはうまくいったのです。私はユーザー名とパスワードの入力を促すように変更しました。 – SenthilNathan

+0

sshpassコマンドの後の '\'の使い方を理解したい – SenthilNathan

+0

'man bash':"引用符で囲まれていないバックスラッシュ(\\)はエスケープ文字で、次の文字のリテラル値を保持します\ のペアが表示され、バックスラッシュ自体が引用符で囲まれていない場合、\ は行継続として扱われます(つまり、入力ストリームから削除され、実質的に無視されます)。 – smbear