Linuxコマンド辞典 expectコマンド(ユーティリティ)
対話的なプログラムとのやりとりを自動化する「expect」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
概要・使用方法
書式
$ expect [オプション] [引数]
対話的なプログラムと「会話」するスクリプトを実行します。ftpのようにユーザが対話的に操作を行うコマンドを自動化する際に使用します。また、標準ではインストールされていないことがあるので、「yum install expect」コマンドを使用して管理者権限でインストールする必要があります。
オプション
-c | スクリプトを実行する前に実行するコマンドを指定する |
-d | デバッグ情報を出力する |
-f | コマンドを読むスクリプトを指定する |
– | 標準入力からスクリプトを読み込む |
expectでftpサーバにログインする
$ expect コマンド
実行結果
$ cat ftplogin.sh
#!/bin/sh
expect -C "
set timeout 10
spawn ftp ftp.sunarin.com #expect内でftpを実行
expect \):\;send anonymous\r #):が出たらユーザー名「anonymous」を入力
expect assword:\ ; send ftp\r #「Password」が表示されたら「ftp」を入力
expect ftp>\ ; send \"ls\r\" #「ftp>」プロンプトがでたらlsを実行
expect ftp>\ ; send \"bye\r\" # 次にbyeを実行
"