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を実行
"