Man page - autoexpect(1)
Packages contains this manual
- dislocate(1)
- expect_mkpasswd(1)
- multixterm(1)
- tknewsbiff(1)
- expect_autoexpect(1)
- kibitz(1)
- expect(1)
- expect_unbuffer(1)
- unbuffer(1)
- xkibitz(1)
- passmass(1)
- expect_passmass(1)
- expect_dislocate(1)
- cryptdir(1)
- expect_cryptdir(1)
- expect_kibitz(1)
- decryptdir(1)
- expect_multixterm(1)
- expect_xkibitz(1)
- expect_decryptdir(1)
- autoexpect(1)
- expect_tknewsbiff(1)
apt-get install expect
Available languages:
en jaManual
AUTOEXPECT
名 前書 式
イ ン ト ロ ダ ク シ ョ ン
他 の フ ラ グ
様 式 (STYLE)
関 連 項 目
著 者
名 前
autoexpect - セ ッ シ ョ ン を 監 視 す る こ と に よ り Expectス ク リ プ ト を 生 成 す る
書 式
autoexpect [ args ] [ program args... ]
イ ン ト ロ ダ ク シ ョ ン
autoexpectは 、 あ な た と プ ロ グ ラ ム と の 対 話 を 監 視 し 、 そ の 対 話 を 再 現 す る Expectス ク リ プ ト を 生 成 す る 。 直 線 的 な ス ク リ プ ト な の で 、 ス ク リ プ ト を 手 作 業 で 書 く の に 比 べ 相 当 な 時 間 を 節 約 で き る 。 た と え あ な た が Expectの エ キ ス パ ー ト だ と し て も 、 対 話 の よ り 機 械 的 な 部 分 を 自 動 化 す る た め に autoexpectを 使 う と 便 利 で あ る こ と が 分 か る だ ろ う 。 autoexpectの 生 成 し た ス ク リ プ ト の 一 部 を カ ッ ト ア ン ド ペ ー ス ト し た 方 が ゼ ロ か ら 書 き 始 め る よ り と て も 簡 単 で あ る 。 そ し て も し あ な た が 初 心 者 だ と し た ら 、 Expectに つ い て 何 も 知 ら な く て も autoexpectの 起 動 方 法 を 習 う だ け で 用 が 足 り る か も し れ な い 。
autoexpectを
使 う 最 も 簡 単
な 方 法 は 、 コ
マ ン ド ラ イ ン
か ら 引 数 な し
で 呼 び 出 す こ
と で あ る 。 デ
フ ォ ル ト で シ
ェ ル を 起 動 す
る 。
例 :
|
% autoexpect |
プ
ロ グ ラ ム 名 と
引 数 が 与 え ら
れ る と autoexpectは そ
の プ ロ グ ラ ム
を 起 動 す る 。
例 :
|
% autoexpect ftp ftp.cme.nist.gov |
一 旦 プ ロ グ ラ ム が 起 動 さ れ れ ば 、 対 話 は 通 常 と 変 わ ら な い 。 あ な た が 起 動 し た シ ェ ル (ま た は 、 指 定 し た プ ロ グ ラ ム )を 終 了 す る と autoexpectは 新 し い ス ク リ プ ト を 生 成 す る 。 デ フ ォ ル ト で は "script.exp"フ ァ イ ル に 書 き 込 ま れ る 。 -fフ ラ グ を 使 う と フ ァ イ ル 名 を 指 定 す る こ と が で き る 。
次 は "ftp ftp.cme.nist.gov"を 実 行 し 、 結 果 の Expectス ク リ プ ト を "nist"フ ァ イ ル へ 格 納 す る 例 で あ る 。
|
% autoexpect -f nist ftp ftp.cme.nist.gov |
autoexpectが
生 成 す る ス ク
リ プ ト は 動 作
が 保 証 さ れ て
い る 訳 で は な
い と い う 点 を
理 解 し て お く
こ と が 重 要 で
あ る 。 な ぜ な
ら ば 、 確 か な
事 柄 や 時 々 間
違 う こ と を 推
測 し な け れ ば
な ら な い の だ
か ら 。 し か し
な が ら 、 通 常
は こ れ ら の 問
題 を 特 定 し 解
決 す る こ と は
と て も 簡 単 で
あ る 。
典 型 的 な 問 題
点 は :
|
• |
タ イ ミ ン グ の 問 題 。 驚 く ほ ど 多 く の プ ロ グ ラ ム (rn, ksh, zsh, telnet, 等 )や デ バ イ ス (例 え ば モ デ ム ) は 、 プ ロ ン プ ト の 後 の 早 す ぎ る キ ー 入 力 を 無 視 す る 。 も し 特 定 の 場 所 で ス ク リ プ ト が 切 れ て し ま う 場 合 は 、 先 の 送 信 の 直 前 に 短 い ス リ ー プ の 追 加 を 試 み よ 。 |
生 成 さ れ た ス ク リ プ ト の 先 頭 近 く に あ る "force_conservative"変 数 を 有 効 に す る こ と に よ り 、 こ の 働 き を 全 体 に わ た っ て 強 制 的 に 行 う こ と が で き る 。 こ の "conservative"モ ー ド で は 、 各 々 の 文 字 送 信 の 前 に 自 動 的 に 短 い ポ ー ズ (0.1秒 )を 入 れ る 。 全 て の プ ロ グ ラ ム に 対 し て こ の 方 法 は 有 効 で あ る 。
こ の conservativeモ ー ド は 、 ス ク リ プ ト の 実 行 が ど れ ほ ど 早 い の か は 気 に せ ず 、 た だ タ イ ミ ン グ の 問 題 か 否 か を 手 っ 取 り 早 く 確 か め た い の な ら 便 利 で あ る 。 -cフ ラ グ を 付 け て 実 行 す る と 同 等 の モ ー ド を 強 制 す る こ と が で き る 。
幸 運 に も 、 こ の よ う な タ イ ミ ン グ の 場 所 は 稀 で あ る 。 例 え ば 、 telnetは エ ス ケ ー プ シ ー ケ ン ス を 入 力 し た 後 の み 文 字 列 を 無 視 す る 。 モ デ ム は 初 回 接 続 直 後 に 文 字 列 を 無 視 す る だ け で あ る 。 ま た 少 数 だ が こ の 働 き を 無 効 に す る ス イ ッ チ を 持 つ プ ロ グ ラ ム も あ る 。 例 え ば 、 rnの -Tフ ラ グ は こ の 働 き を 無 効 に す る 。
次 は 、 conservativeモ ー ド で 実 行 す る 例 で あ る 。
autoexpect -c
-Cフ ラ グ は conservativeモ ー ド を 切 り 換 え る た め の キ ー を 定 義 す る 。 次 は 、 ˆLを 切 り 換 え キ ー と 定 義 し (non-conservativeモ ー ド で )実 行 す る 例 で あ る 。 (注 : ˆLは コ ン ト ロ ー ル +Lを 示 す )
autoexpect -C ˆL
次 は 、 ˆLを 切 り 換 え キ ー と 定 義 し conservativeモ ー ド で 実 行 す る 例 で あ る 。
autoexpect -c -C ˆL
|
• |
エ コ ー の 問 題 。 多 く の プ ロ グ ラ ム が 文 字 を エ コ ー す る 。 例 え ば 、 シ ェ ル に 対 し て "more"と タ イ プ す る と 、 autoexpectに は 以 下 の よ う に 見 え る : |
you typed ’m’,
|
computer typed ’m’, |
|
|
you typed ’o’, |
|
|
computer typed ’o’, |
|
|
you typed ’r’, |
|
|
computer typed ’r’, |
|
|
... |
そ の プ ロ グ ラ ム に 対 す る 特 有 の 知 識 が 無 い と 、 エ コ ー さ れ た 文 字 を 待 っ て か ら 、 次 の 文 字 を タ イ プ し て い る の か ど う か を 知 る こ と は 困 難 で あ る 。 autoexpectは 、 文 字 列 が エ コ ー さ れ て い る と 見 な す と 、 元 々 の 対 話 手 順 の よ う に 細 切 れ に 対 話 す る の で は な く 、 グ ル ー プ と し て 全 て を 一 度 に 送 信 で き る と 判 断 す る 。 こ の た め ス ク リ プ ト が 読 み 易 く な る 。 し か し 、 本 当 に エ コ ー を 待 っ て か ら 入 力 し な け れ ば な ら な い 場 合 に は 、 間 違 っ た 動 作 と な る こ と が 考 え ら れ る 。
|
• |
変 化 の 問 題 。 autoexpectは 対 話 で 生 じ た す べ て の 文 字 を ス ク リ プ ト 内 に 記 録 す る 。 こ の 事 は 、 ど の 文 字 が 重 要 で ど の 文 字 は 置 き 換 え ら れ る か を 判 断 で き る た め 、 好 ま し い こ と で あ る 。 |
し か し 一 方 で は 、 実 行 す る 度 に 異 な る 出 力 を 生 じ る コ マ ン ド を 使 う 場 合 、 生 成 さ れ た ス ク リ プ ト は 正 し く 動 作 し な い か も し れ な い 。 例 え ば 、 dateコ マ ン ド は 常 に 異 な る 出 力 を 生 成 す る 。 そ の た め 、 autoexpect実 行 中 に dateコ マ ン ド を 使 う と 、 生 成 し た ス ク リ プ ト を 働 か せ る た め に は 間 違 い 無 く 修 正 が 必 要 に な る だ ろ う 。
-pフ ラ グ は 、 autoexpectを promptモ ー ド に す る 。 こ の モ ー ド で は 、 autoexpectは プ ロ グ ラ ム の 出 力 す る 最 終 行 (普 通 は プ ロ ン プ ト ) だ け を 記 録 す る 。 こ の モ ー ド は 、 上 述 の dateコ マ ン ド の 問 題 や 他 の ほ と ん ど の 変 化 の 問 題 を 扱 う こ と が で き る 。
次 は 、 promptモ ー ド で 実 行 す る 例 で あ る 。
autoexpect -p
-Pフ ラ グ は promptモ ー ド を 切 り 換 え る た め の キ ー を 定 義 す る 。 次 は 、 ˆPを 切 り 換 え キ ー と 定 義 し (non-promptモ ー ド で )実 行 す る 例 で あ る 。 (注 : ˆPは コ ン ト ロ ー ル +Pを 示 す )
autoexpect -P ˆP
次 は 、 ˆPを 切 り 換 え キ ー と 定 義 し promptモ ー ド で 実 行 す る 例 で あ る 。
autoexpect -p -P ˆP
他 の フ ラ グ
-quiet フ ラ グ は 、 autoexpectの メ ッ セ ー ジ 出 力 を 非 表 示 に す る 。
-Q フ ラ グ は 、 引 用 文 字 を 定 義 す る 。 引 用 文 字 は 、 切 り 替 え キ ー と し て 使 わ れ る た め autoexpectが 別 の 意 味 に 取 っ て し ま う 文 字 を 入 力 す る た め に 使 う こ と が で き る 。
次 は 、 引 用 文 字 と 一 緒 に 複 数 の フ ラ グ を 定 義 す る 例 で あ る 。 引 用 文 字 は 、 切 り 替 え キ ー を 文 字 通 り 入 力 す る 方 法 と し て 提 供 さ れ る 。
autoexpect -P ˆP -C ˆL -Q ˆQ
様 式 (STYLE)
Expectプ ロ グ ラ ム の た め の 様 式 が あ る か 否 か 分 か ら な い が 、 明 ら か に autoexpectは ど の よ う な 様 式 の モ デ ル に も 縛 ら れ る べ き で は な い 。 例 え ば 、 コ ン ピ ュ ー タ 生 成 ス ク リ プ ト 用 に 意 図 さ れ た Expectプ ロ グ ラ ム の 特 徴 を autoexpectは 利 用 し て い る 。 だ か ら 、 autoexpectに よ っ て 生 成 さ れ た か の よ う な ス ク リ プ ト を 忠 実 に 記 述 し て み て は な ら な い 。
し か し 一 方 で は 、 autoexpectの ス ク リ プ ト は 価 値 の あ る 事 を 示 し て い る 。 例 え ば 、 autoexpectを 通 し て 実 行 す る こ と に よ り 、 Tclス ク リ プ ト の 中 で 使 用 す る 目 的 で は 、 ど の よ う に 文 字 列 は 引 用 さ れ な け れ ば な ら な い か を 簡 単 に 知 る こ と が で き る 。
関 連 項 目
"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O’Reilly and Associates, January 1995.
著 者
Don Libes, National Institute of Standards and Technology
expect と autoexpect は 、 パ ブ リ ッ ク ド メ イ ン で あ る 。 こ れ ら の プ ロ グ ラ ム あ る い は 一 部 が 使 わ れ た な ら 、 NISTと 著 者 へ の 謝 辞 を 述 べ て も ら い た い 。