最終更新:2013-01-24 (木) 15:07:08 (4103d)
expect
Top / expect
対話的なプログラムとのやりとりを自動化するプログラム
http://expect.sourceforge.net/
概要
- スクリプトの指示に従って、対話的なプログラムと"会話"する
例
- 下記を自動化
$ telnet hoge # マシンhoge に telnet した hoge login: foo # ログイン名 foo Password: # パスワ-ドを入力した hoge:~$ ls # リストを取る ... hoge:~$ exit # 作業終了 logout Connection closed by foreign host.
- expectで自動実行
#!/bin/sh # shell スクリプトにしてみた H=hoge # telnet するマシン名を設定 U=foo # ログイン名を設定 PW=****** # パスワ-ドを設定 expect -c " # expect コマンドを実行 set timeout 20 spawn telnet $H # expect コマンドの管理下でtelnetを実行する expect login:\ ; send \"$U\r\" # login: が出たらログイン名を打ち込む expect sword:\ ; send \"$PW\r\" # password: が出たらパスワ-ドを打ち込む expect \"$ \" ; send \"ls\r\" # $ が出たら ls を打ち込む expect \"$ \" ; send \"exit\r\" # $ が出たら exit を打ち込む "