Cisco (Telepresence) CTS1300、1000、および 3000 コーデックで再起動を実行するために、この単純なスクリプトを作成しました。目標は、cron を使用してこれらのユニットを毎週再起動することです。私はCygwinを使用しています。これがexpectスクリプトです。
#!/usr/bin/expect -f
spawn ssh AdminUser@123.123.123.123
expect "*?assword:*"
send -- "MyPassword\r"
expect "*admin:*"
"send -- "utils system restart\r"
expect -exact "Are you sure you want to perform a System Restart ?\r
Enter \"yes\" to Restart the System or any other key to abort\r
continue: "
send -- "yes\r"
expect "*admin:*"
send -- "quit\r"
expect eof
出力は次のとおりです。
superuser@SUPERPC ~/ctspsswd
./restartall2
spawn ssh AdminUser@123.123.123.123
AdminUser@123.123.123.123's password:
Command Line Interface is starting up, please wait ...
Welcome to the TelePresence Command Line Interface (version 1.1)
admin:utils system restart
Are you sure you want to perform a System Restart ?
Enter "yes" to Restart the System or any other key to abort
continue: s
The System Restart has been aborted
admin:quit
Connection to 123.123.123.123 closed.
何らかの奇妙な理由で、システムの再起動を中止する「s」のみを送信します。
タイプスクリプトを使用してみ#!/bin/bash
ましたが、出力は似ています。
私はワイルド文字を期待して"*continue:*"
、まだ同様の出力に使用しようとしました。
私は使用してみautoexpect
ましたが、まったく同じことが起こります。Autoexpect スクリプトは私のスクリプトと非常によく似ていますが、入力した各文字に固有のものであるだけです。
utils system restart を送信した直後に送信しようyes
としましたが、結果は単純に\r
.
足りないものはありますか?yes
それ以外の場合は、その部分に対話を使用するスクリプトを作成します。