1

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それ以外の場合は、その部分に対話を使用するスクリプトを作成します。

4

0 に答える 0