私はsshに使用するスクリプトを用意しています。私のホストの中には、RSAホストのキーテキストが表示されるものもあれば、そうでないものもあります。 if/thenを想定してスクリプトを設定するにはどうしたらいいですか?ここまで私がこれまで持っていたことがあります。その場合、ロジック内部にスクリプトがあります
#!/usr/bin/expect -f
set ipaddress [lindex $argv 0];
spawn ssh [email protected]$ipaddress
expect "Are you sure you want to continue connecting (yes/no)?"
send "yes\r"
expect "[email protected]$ipaddress's password:"
send "password\r"
set prompt {\$ $}
expect -re $prompt
send "$command\r"
expect -re $prompt
send "quit\r"
interact
私は、IF /ロジックで構築する必要がある部分は、次の2行です:
expect "Are you sure you want to continue connecting (yes/no)?"
send "yes\r"
論理の流れは次のようになります。
if expect "Are you sure you want to continue connecting (yes/no)?"
then send "yes\r"
else
expect "[email protected]$ipaddress's password:"
etc..
どのように私はこれを達成することができますか?
あなたは間違った場所に 'exp_continue'を持っています:それは"あなたは確かです "ブロックにあるはずです。どちらの場合も、パスワードを入力する必要があるためです。 –
あなたの提案を反映するために私の答えを更新しました。私はexp_continueを移動して以来、まだ一回の失敗はなかったので、あなたは正しいと思われます。 – user53029