3
#!/usr/bin/expect -f
spawn telnet 10.21.0.17
expect -re "login"
send "admin\n"
expect -re "Password"
send "supersecurepassword\n"
interact

期待どおりに動作します。スクリプトを実行すると、回線で使用したテレント IP にログインします。spawn telnet 10.21.0.17

次に、AP のシェルにドロップします。

WAP->

さらにコマンドを発行するにはどうすればよいですか? reboot私は発行したいと思いsleep 20ますexit

私は使用echoしてみexpectましたが、成功しませんでした。また、 を削除しようとしましたinteractが、成功しませんでした。何か案は?

4

1 に答える 1

2

sleepこれは、 の前にを追加するだけで解決されexpect、もちろんは含まinteractれません。次のようにするとうまくいきます。

#!/usr/bin/expect -f
spawn telnet 10.21.0.17
expect -re "login"
send "admin\n"
expect -re "Password"
send "supersecurepassword\n"
sleep 5
expect "WAP"
send "reboot\n"
send "exit\n"

参考までに、これは D-Link DAP-2590 ワイヤレス アクセス ポイントの再起動を自動化するために使用されました。これがわかったので、パスワードの変更など、他のことに使用する可能性があります。将来、他の誰かに役立つことを願っています。

于 2012-06-22T02:39:59.470 に答える