OSDN Git Service

Convert release and draft pages to UTF-8.
[linuxjm/jm.git] / manual / expect / draft / man1 / expect.1
index b454394..3b1f1ee 100644 (file)
@@ -8,13 +8,13 @@
 .TH EXPECT 1 "29 December 1994"
 
 .\"O .SH NAME
-.SH Ì¾Á°
+.SH 名前
 .\"O expect \- programmed dialogue with interactive programs, Version 5
-expect \- ÂÐÏÃŪ¤Ê¥×¥í¥°¥é¥à¤È¤Î¤ä¤ê¤È¤ê¤ò¼«Æ°²½¤¹¤ë¥×¥í¥°¥é¥à, ¥Ð¡¼¥¸¥ç¥ó 5
+expect \- 対話的なプログラムとのやりとりを自動化するプログラム, バージョン 5
 
 
 .\"O .SH SYNOPSIS
-.SH ½ñ¼°
+.SH 書式
 
 .B expect
 [
@@ -34,7 +34,7 @@ expect \- 
 ]
 
 .\"O .SH INTRODUCTION
-.SH ¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó
+.SH イントロダクション
 .\"O .B Expect
 .\"O is a program that "talks" to other interactive programs according to a
 .\"O script.  Following the script,
@@ -46,14 +46,14 @@ expect \- 
 .\"O and interact directly when desired, afterward returning control to the
 .\"O script.
 .B Expect
-¤Ï¡¢¥¹¥¯¥ê¥×¥È¤Î»Ø¼¨¤Ë½¾¤Ã¤Æ¡¢ÂÐÏÃŪ¤Ê¥×¥í¥°¥é¥à¤È"²ñÏÃ"¤¹¤ë¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£
-°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤Ë¼¨¤¹¤è¤¦¤Ë¡¢
+は、スクリプトの指示に従って、対話的なプログラムと"会話"するプログラムである。
+以下のスクリプトに示すように、
 .B Expect
-¤Ë¤Ï¡¢ÂÐÏÃ¥×¥í¥°¥é¥à¤«¤é¤Î´üÂÔ¤µ¤ì¤¦¤ëÆþÎϤȤ½¤ì¤ËÂФ¹¤ëÀµ¤·¤¤±þÅú¤ò
-¶µ¤¨¤Æ¤ª¤¯¡£¥¤¥ó¥¿¥×¥ê¥¿¤Ïʬ´ô½èÍý¤È¹âÅÙ¤ÊÀ©¸æ¹½Â¤¤òÄ󶡤·¡¢
-ÂÐÏÃ¥×¥í¥°¥é¥à¤Ø¤Î»Ø¼¨¤ò¹Ô¤Ê¤¦¡£
-¤µ¤é¤Ë¡¢É¬Íפʻþ¤Ë¥¹¥¯¥ê¥×¥È¤«¤éÀ©¸æ¤òÃ¥¤Ã¤ÆľÀÜ¿Í´Ö¤¬»Ø¼¨¤ò¹Ô¤Ê¤¤¡¢
-¤½¤Î¸å¡¢À©¸æ¤ò¥¹¥¯¥ê¥×¥È¤ØÌ᤹¤³¤È¤¬¤Ç¤­¤ë¡£
+には、対話プログラムからの期待されうる入力とそれに対する正しい応答を
+教えておく。インタプリタは分岐処理と高度な制御構造を提供し、
+対話プログラムへの指示を行なう。
+さらに、必要な時にスクリプトから制御を奪って直接人間が指示を行ない、
+その後、制御をスクリプトへ戻すことができる。
 
 .PP
 .\"O .B Expectk
@@ -70,19 +70,19 @@ expect \- 
 .\"O can also be used directly in C or C++ (that is, without Tcl).
 .\"O See libexpect(3).
 .B Expectk
-¤Ï
+は
 .B Expect
-¤È
+と
 .BR Tk
-¤Îº®¹çʪ¤Ç¤¢¤ë¡£
+の混合物である。
 .B Expect
-¤Ç¤¢¤ê¡¢¤«¤Ä¡¢
+であり、かつ、
 .BR Tk 's
 .BR wish
-¤Ç¤¢¤ë¤«¤Î¤è¤¦¤Ë¿¶Éñ¤¦¡£
+であるかのように振舞う。
 .B Expect
-¤Ï¡¢C ¤¢¤ë¤¤¤Ï C++ (¤Ä¤Þ¤ê¡¢Tcl °Ê³°)¤«¤é¡¢Ä¾ÀܻȤ¦¤³¤È¤â¤Ç¤­¤ë¡£
-libexpect(3)¤ò»²¾È¡£
+は、C あるいは C++ (つまり、Tcl 以外)から、直接使うこともできる。
+libexpect(3)を参照。
 .PP
 .\"O The name "Expect" comes from the idea of
 .\"O .I send/expect
@@ -94,16 +94,16 @@ libexpect(3)
 .\"O with any program and task in mind.
 .\"O .B Expect
 .\"O can actually talk to several programs at the same time.
-"Expect"¤È¤¤¤¦Ì¾Á°¤Ï¡¢uucp¤Çͭ̾¤Ë¤Ê¤Ã¤¿
+"Expect"という名前は、uucpで有名になった
 .I send/expect
-¤Î³µÇ°¤ËͳÍ褹¤ë¡£
-(kermit¤ä¾¤Î¥â¥Ç¥àÀ©¸æ¥×¥í¥°¥é¥à¤Ç¤â¡¢¤³¤Î³µÇ°¤Ï»È¤ï¤ì¤Æ¤¤¤ë)
-¤·¤«¤·¡¢uucp ¤È¤Ï°ã¤Ã¤Æ
+の概念に由来する。
+(kermitや他のモデム制御プログラムでも、この概念は使われている)
+しかし、uucp とは違って
 .B Expect
-¤Ï°ìÈ̲½¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ÁÛÁü¤µ¤ì¤ë¤É¤ó¤Ê¥×¥í¥°¥é¥à¤ä¥¿¥¹¥¯¤ËÂФ·¤Æ¤â
-¥Þ¥¯¥í¥³¥Þ¥ó¥É(user-level command)¤È¤·¤Æµ¡Ç½¤Ç¤­¤ë¡£
+は一般化されているので、想像されるどんなプログラムやタスクに対しても
+マクロコマンド(user-level command)として機能できる。
 .B Expect
-¤Ï¡¢Æ±»þ¤ËÊ£¿ô¤Î¥×¥í¥°¥é¥à¤È²ñÏ乤뤳¤È¤¬¤Ç¤­¤ë¡£
+は、同時に複数のプログラムと会話することができる。
 .PP
 .\"O For example, here are some things
 .\"O .B Expect
@@ -133,37 +133,37 @@ libexpect(3)
 .\"O or any kind of information across rlogin, telnet, tip, su, chgrp, etc.
 .\"O .RE
 .B Expect
-¤Ë¤Ç¤­¤ë¤³¤È¤ÎÎã¤ò¤¤¤¯¤Ä¤«µó¤²¤Æ¤ª¤¯:
+にできることの例をいくつか挙げておく:
 .RS
 .TP 4
 \(bu
-ÅÅÏÃÂå¤òʧ¤ï¤º¤Ë¥í¥°¥¤¥ó¤Ç¤­¤ë¤è¤¦¤Ë¥³¥ó¥Ô¥å¡¼¥¿¤«¤é¤¢¤Ê¤¿¤ËÅÅÏäò³Ý¤±Ä¾¤µ¤»¤ë¡£
+電話代を払わずにログインできるようにコンピュータからあなたに電話を掛け直させる。
 .TP
 \(bu
-¥²¡¼¥à(Î㤨¤Ð rogue)¤ò»Ï¤á¤ë»þ¤Ë¡¢ºÇŬ¤Ê¥Ñ¥é¥á¥¿¤¬¤â¤é¤¨¤Ê¤«¤Ã¤¿¾ì¹ç
-ºÇŬ¤Ê¥Ñ¥é¥á¥¿¤¬¤â¤é¤¨¤ë¤Þ¤Ç²¿Å٤Ǥâ¥ê¥¹¥¿¡¼¥È¤ò¹Ô¤Ê¤¤¡¢¤½¤Î¸åÀ©¸æ¤ò¿Í´Ö¤Ë°Ü¤¹¡£
+ゲーム(例えば rogue)を始める時に、最適なパラメタがもらえなかった場合
+最適なパラメタがもらえるまで何度でもリスタートを行ない、その後制御を人間に移す。
 .TP
 \(bu
-fsck¤òÁö¤é¤»¤¿»þ¤Ë¸½¤ì¤ë¼ÁÌä¤Ë¡¢Á°¤â¤Ã¤Æ·è¤á¤Æ¤ª¤¤¤¿Êý¿Ë¤Ë½¾¤Ã¤Æ¡¢
-"yes", "no", "¼êÆþÎÏ"¤òÀÚÂؤ¨¤Æ¡¢ÊÖÅú¤¹¤ë¡£
+fsckを走らせた時に現れる質問に、前もって決めておいた方針に従って、
+"yes", "no", "手入力"を切替えて、返答する。
 .TP
 \(bu
-¾¤Î¥Í¥Ã¥È¥ï¡¼¥¯¤ä BBS(Î㤨¤ÐMCI Mail, CompuServe)¤ËÀܳ¤·¤¿»þ¤Ë
-¼«Æ°Åª¤Ë¥á¡¼¥ë¤Î¼è¤ê¹þ¤ß¡¢È¯¿®¤ò¹Ô¤Ê¤¦¡£
+他のネットワークや BBS(例えばMCI Mail, CompuServe)に接続した時に
+自動的にメールの取り込み、発信を行なう。
 .TP
 \(bu
-´Ä¶­ÊÑ¿ô¡¢¥«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¡¢¤½¤Î¾¤Î¾ðÊó¤ò¡¢rlogin, telnet, tip, su, \
- chgrp ¤Ê¤É¤ò¹Ô¤Ê¤Ã¤¿Àè¤Ø»ý¤Ã¤Æ¤¤¤¯¡£
+環境変数、カレントディレクトリ、その他の情報を、rlogin, telnet, tip, su, \
+ chgrp などを行なった先へ持っていく。
 .RE
 .PP
 .\"O There are a variety of reasons why the shell cannot perform these tasks.
 .\"O (Try, you'll see.)
 .\"O All are possible with
 .\"O .BR Expect .
-¤³¤ì¤é¤Î½èÍý¤ò¥·¥§¥ë¤¬¹Ô¤Ê¤¨¤Ê¤¤Íýͳ¤Ï¤¿¤¯¤µ¤ó¤¢¤ë
-(¤ä¤Ã¤Æ¤ß¤ì¤Ð¤ï¤«¤ë¤À¤í¤¦)¡£Á´Éô
+これらの処理をシェルが行なえない理由はたくさんある
+(やってみればわかるだろう)。全部
 .BR Expect
-¤Ê¤é¤Ç¤­¤ë¡£
+ならできる。
 .PP
 .\"O In general,
 .\"O .B Expect
@@ -175,17 +175,17 @@ fsck
 .\"O can also give the user back control
 .\"O (without halting the program being controlled) if desired.
 .\"O Similarly, the user can return control to the script at any time.
-°ìÈ̤Ë
+一般に
 .B Expect
-¤Ï¡¢¥×¥í¥°¥é¥à¤È¥æ¡¼¥¶¡¼¤Î¤ä¤ê¤È¤ê¤¬É¬Í×¤Ê¥×¥í¥°¥é¥à¤òÁö¤é¤»¤ë¤È¤­¤Ë
-Ìò¤ËΩ¤Ä¡£Âç»ö¤Ê¤³¤È¤Ï¡¢¤³¤Î¤ä¤ê¤È¤ê¤¬¥×¥í¥°¥é¥à¤ÎÀ­³Ê¤ò»ý¤Ã¤Æ¤¤¤ë¤È
-¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
+は、プログラムとユーザーのやりとりが必要なプログラムを走らせるときに
+役に立つ。大事なことは、このやりとりがプログラムの性格を持っていると
+いうことである。
 .B Expect
-¤Ï¡¢É¬Íפʤé¥æ¡¼¥¶¡¼¤ËÀ©¸æ¤òÊÖ¤¹¤³¤È¤â¤Ç¤­¤ë(¤·¤«¤â¡¢¥×¥í¥°¥é¥à¤Ï
-ÃæÃǤµ¤ì¤Ê¤¤)¡£Æ±Íͤˡ¢¥æ¡¼¥¶¡¼¤ÏÀ©¸æ¤ò¤¤¤Ä¤Ç¤â¥¹¥¯¥ê¥×¥È¤ËÊÖ¤¹¤³¤È¤¬¤Ç¤­¤ë¡£
+は、必要ならユーザーに制御を返すこともできる(しかも、プログラムは
+中断されない)。同様に、ユーザーは制御をいつでもスクリプトに返すことができる。
 
 .\"O .SH USAGE
-.SH ÍÑË¡
+.SH 用法
 .\"O .B Expect
 .\"O reads
 .\"O .I cmdfile
@@ -214,29 +214,29 @@ fsck
 .\"O .BR \-command .)
 .\"O
 .B Expect
-¤Ï¡¢
+は、
 .I cmdfile
-¤òÆɤ߹þ¤ß¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤Î¥ê¥¹¥È¤òÆÀ¤ë¡£
+を読み込み、実行するコマンドのリストを得る。
 .B Expect
-¤Ï¡¢#! É½µ­¤ò¥µ¥Ý¡¼¥È¤¹¤ë OS ¤Ç¡¢ÀèƬ¹Ô¤Ë
+は、#! 表記をサポートする OS で、先頭行に
 
     #!/usr/local/bin/expect \-f
 
-¤È½ñ¤¤¤Æ¤ª¤¤¤Æ¼Â¹Ô¤µ¤»¤ë¤³¤È¤â¤Ç¤­¤ë¡£
-¤â¤Á¤í¤ó¡¢¥Ñ¥¹¤ÏÀµ³Î¤Ë
+と書いておいて実行させることもできる。
+もちろん、パスは正確に
 .B Expect
-¤Î¤¢¤ë¾ì½ê¤ò»Ø¼¨¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-/usr/local/bin ¤Ï¡¢°ìÎã¤Ç¤¢¤ë¡£
+のある場所を指示していなければならない。
+/usr/local/bin は、一例である。
 
 .B \-c
-¥Õ¥é¥°¤Ç¡¢¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¡¢¼Â¹Ô¤¹¤ë¥³¥Þ¥ó¥É¤ò»Ø¼¨¤¹¤ë¡£
-¥³¥Þ¥ó¥É¤Ï¥·¥§¥ë¤Ë²õ¤µ¤ì¤Ê¤¤¤è¤¦¤Ë¥¯¥ª¡¼¥È¤·¤Æ¤ª¤¯¤Ù¤­¤Ç¤¢¤ë¡£
-¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï²¿²ó½Ð¤Æ¤­¤Æ¤â¹½¤ï¤Ê¤¤¡£
-Ê£¿ô¥³¥Þ¥ó¥É¤ò»Ø¼¨¤·¤¿¾ì¹ç¤Ï¡¢¥»¥ß¥³¥í¥ó¤ÇÏ¢·ë¤µ¤ì¤¿¥³¥Þ¥ó¥É¤Î¤è¤¦¤Ë
-°·¤ï¤ì¤ë¡£
-¥³¥Þ¥ó¥É¤Ï¸½¤ì¤¿½ç¤Ë¼Â¹Ô¤µ¤ì¤ë¡£(Expectk ¤Ç¤Ï¡¢
+フラグで、スクリプトを実行する前に、実行するコマンドを指示する。
+コマンドはシェルに壊されないようにクオートしておくべきである。
+このオプションは何回出てきても構わない。
+複数コマンドを指示した場合は、セミコロンで連結されたコマンドのように
+扱われる。
+コマンドは現れた順に実行される。(Expectk では、
 .BR \-command
-¤È½ñ¤¯)
+と書く)
 .PP
 .\"O The
 .\"O .B \-d
@@ -257,24 +257,24 @@ fsck
 .\"O (When using Expectk, this option is specified as
 .\"O .BR \-diag .)
 .B \-d
-¥Õ¥é¥°¤Ç¡¢¥Ç¥Ð¥Ã¥°¾ðÊó½ÐÎϤòÍ­¸ú¤Ë¤¹¤ë¡£´ðËÜŪ¤Ë
-ÆâÉô¤Î¥³¥Þ¥ó¥É(Î㤨¤Ð
+フラグで、デバッグ情報出力を有効にする。基本的に
+内部のコマンド(例えば
 .B expect
-¤ä
+や
 .BR interact )
-¤Î¿¶Éñ¤¤¤òÊó¹ð¤¹¤ë¡£
-¤³¤Î¥Õ¥é¥°¤Ï"exp_internal 1"¤È¥¹¥¯¥ê¥×¥È¤ÎÀèƬ¤Ë½ñ¤¯¤Î¤ÈƱ¤¸¤³¤È¤À¤¬¡¢
-¤µ¤é¤Ë
+の振舞いを報告する。
+このフラグは"exp_internal 1"とスクリプトの先頭に書くのと同じことだが、
+さらに
 .B Expect
-¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤â½ÐÎϤµ¤ì¤ë¡£
+のバージョン番号も出力される。
 (
 .B strace
-¥³¥Þ¥ó¥É¤Ï¡¢Ì¿Îá¤ò¥È¥ì¡¼¥¹¤¹¤ë¤Î¤ËÊØÍø¤Ç¤¢¤ë¡£
+コマンドは、命令をトレースするのに便利である。
 .B trace
-¥³¥Þ¥ó¥É¤Ï¡¢ÊÑ¿ôÃͤò¥È¥ì¡¼¥¹¤¹¤ë¤Î¤ËÊØÍø¤Ç¤¢¤ë¡£)
-(Expectk ¤ò»È¤¦»þ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï
+コマンドは、変数値をトレースするのに便利である。)
+(Expectk を使う時は、このオプションは
 .BR \-diag
-¤È½ñ¤¯¡£)
+と書く。)
 .PP
 .\"O The
 .\"O .B \-D
@@ -287,11 +287,11 @@ fsck
 .\"O (When using Expectk, this option is specified as
 .\"O .BR \-Debug .)
 .B \-D
-¥Õ¥é¥°¤ÇÂÐÏ÷¿¥Ç¥Ð¥Ã¥¬¤òÍ­¸ú¤Ë¤¹¤ë¡£À°¿ôÃͤ¬Â³¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-Ãͤ¬ 0 ¤Ç¤Ê¤¤¤«¡¢C ¤¬²¡¤µ¤ì¤ë¤È¡¢¼¡¤Î Tcl ½èÍý¤ÎÁ°¤Ç¥Ç¥Ð¥Ã¥¬¤ËÀ©¸æ¤¬°Ü¤ë¡£
-¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Ë¤«¤«¤Ã¤¿»þ¤ä¾¤Î¥Ç¥Ð¥Ã¥°Ì¿Îá¤ò¼Â¹Ô¤·¤¿»þ¤â¡¢Æ±¤¸¤Ç¤¢¤ë¡£
-¥Ç¥Ð¥Ã¥¬¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤬤â¤Ã¤ÈÍߤ·¤±¤ì¤Ð¡¢ README ¤ä²¼µ­¤Î´ØÏ¢¹àÌܤòÆɤळ¤È¡£
-(Expectk ¤ò»È¤Ã¤Æ¤¤¤ë»þ¤Ï¡¢¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï
+フラグで対話型デバッガを有効にする。整数値が続かなければならない。
+値が 0 でないか、C が押されると、次の Tcl 処理の前でデバッガに制御が移る。
+ブレークポイントにかかった時や他のデバッグ命令を実行した時も、同じである。
+デバッガについての情報がもっと欲しければ、 README や下記の関連項目を読むこと。
+(Expectk を使っている時は、このオプションは
 .BR \-Debug )
 .PP
 .\"O The
@@ -303,10 +303,10 @@ fsck
 .\"O (When using Expectk, this option is specified as
 .\"O .BR \-file .)
 .B \-f
-¥Õ¥é¥°¤Ç¡¢¥³¥Þ¥ó¥É¤òÆɤó¤Ç¤¯¤ë¥Õ¥¡¥¤¥ë¤ò»Ø¼¨¤¹¤ë¡£¤³¤Î¥Õ¥é¥°¤Ï
-¤¢¤Ã¤Æ¤â¤Ê¤¯¤Æ¤âÎɤ¤¤Î¤À¤¬¡¢#! É½µ­¤È°ì½ï¤Ë»È¤¦¤È
-°ú¿ô¤«¤é¥×¥í¥°¥é¥à̾¤ò½ü¤±¤ë¤«¤é¡¢¤½¤Î¾ì¹ç°ÕÌ£¤¬¤¢¤ë¡£
-(Expectk ¤Ç¤Ï
+フラグで、コマンドを読んでくるファイルを指示する。このフラグは
+あってもなくても良いのだが、#! 表記と一緒に使うと
+引数からプログラム名を除けるから、その場合意味がある。
+(Expectk では
 .BR \-file )
 .PP
 .\"O By default, the command file is read into memory and executed in its entirety.
@@ -317,20 +317,20 @@ fsck
 .\"O flag.
 .\"O (When using Expectk, this option is specified as
 .\"O .BR \-buffer .)  Note that stdio-buffering may still take place however this shouldn't cause problems when reading from a fifo or stdin.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ë¤¬¥á¥â¥ê¤Ë°ìÅÙ¤ËÆɤ߹þ¤Þ¤ì¡¢¤½¤³¤Ç¼Â¹Ô¤µ¤ì¤ë¡£
-°ì¹Ô¤º¤Ä¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ë¤òÆɤó¤ÀÊý¤¬Ë¾¤Þ¤·¤¤¾ì¹ç¤â¤¢¤ë¡£Î㤨¤Ð¡¢
-ɸ½àÆþÎϤϤ³¤Î¤è¤¦¤Ë°·¤Ã¤¿Êý¤¬Îɤ¤¡£¶¯À©Åª¤Ë¤³¤Î¥â¡¼¥É¤ò»ØÄꤹ¤ë¤Ë¤Ï¡¢
+デフォルトでは、コマンドファイルがメモリに一度に読み込まれ、そこで実行される。
+一行ずつコマンドファイルを読んだ方が望ましい場合もある。例えば、
+標準入力はこのように扱った方が良い。強制的にこのモードを指定するには、
 .B \-b
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¡£
-(Expectk¤Ç¤Ï¡¢
+フラグを指定する。
+(Expectkでは、
 .BR \-buffer )
-stdio ¤Î¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤Ï°ÍÁ³Í­¸ú¤Ç¤¢¤ë¤¬¡¢FIFO ¤Þ¤¿¤Ï stdin ¤«¤éÆɤ߹þ¤à¾ì¹ç¤Ï
-ÌäÂê¤Ïµ¯¤³¤é¤Ê¤¤¤Ï¤º¤Ç¤¢¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+stdio のバッファリングは依然有効であるが、FIFO または stdin から読み込む場合は
+問題は起こらないはずであることに注意すること。
 .PP
 .\"O If the string "\-" is supplied as a filename, standard input is read instead.
 .\"O (Use "./\-" to read from a file actually named "\-".)
-"\-"¤¬¥Õ¥¡¥¤¥ë̾¤È¤·¤ÆÅϤµ¤ì¤ë¤È¡¢É¸½àÆþÎϤ«¤é¥¹¥¯¥ê¥×¥È¤¬Æɤ߹þ¤Þ¤ì¤ë¡£
-(ËÜÅö¤Ë"\-"¤È¸À¤¦¥Õ¥¡¥¤¥ë¤¬Æɤߤ¿¤±¤ì¤Ð¡¢"./\-"¤È½ñ¤¯¤³¤È)
+"\-"がファイル名として渡されると、標準入力からスクリプトが読み込まれる。
+(本当に"\-"と言うファイルが読みたければ、"./\-"と書くこと)
 .PP
 .\"O The
 .\"O .B \-i
@@ -351,20 +351,20 @@ stdio 
 .\"O (When using Expectk, this option is specified as
 .\"O .BR \-interactive .)
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢
+フラグを指示すると、
 .B Expect
-¤Ï¥Õ¥¡¥¤¥ë¤«¤é¥¹¥¯¥ê¥×¥È¤òÆɤޤº¤ËÂÐÏÃÍÑ¥×¥í¥ó¥×¥È¤òɽ¼¨¤¹¤ë¡£
+はファイルからスクリプトを読まずに対話用プロンプトを表示する。
 .B exit
-¥³¥Þ¥ó¥É¤«¡¢EOF ¤ò¼õ¤±¤ë¤È¥·¥§¥ë¤ò½ªÎ»¤¹¤ë¡£
-¾ÜºÙ¤Ë¤Ä¤¤¤Æ¤Ï
+コマンドか、EOF を受けるとシェルを終了する。
+詳細については
 .B interpreter
-(²¼µ­) ¤ò»²¾È¤Î¤³¤È¡£
+(下記) を参照のこと。
 .B \-i
-¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢
-¥³¥Þ¥ó¥É¥Õ¥¡¥¤¥ë¤â
+を指定した場合には、
+コマンドファイルも
 .B \-c
-¤â»Ø¼¨¤µ¤ì¤Ê¤«¤Ã¤¿¤â¤Î¤È¤·¤Æ¼Â¹Ô¤µ¤ì¤ë¡£
-(Expectk¤Ç¤Ï
+も指示されなかったものとして実行される。
+(Expectkでは
 .BR \-interactive )
 .PP
 .\"O .B \-\-
@@ -382,21 +382,21 @@ stdio 
 .\"O Note that the usual getopt(3) and execve(2) conventions must be observed
 .\"O when adding arguments to the #! line.
 .B \-\-
-¤Ï¡¢¥ª¥×¥·¥ç¥ó¤Î½ª¤ê¤ò¶èÀÚ¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë(¾Êά²Äǽ)¡£¤³¤ì¤Ï¡¢¤¢¤Ê¤¿¤¬
-¥ª¥×¥·¥ç¥ó¥¿¥¤¥×¤Î°ú¿ô¤ò
+は、オプションの終りを区切るのに用いられる(省略可能)。これは、あなたが
+オプションタイプの引数を
 .BR Expect
-¤Ë²ò¼á¤µ¤»¤Ê¤¤¤Ç¡¢¥¹¥¯¥ê¥×¥È¤Ë¤½¤Î¤Þ¤ÞÅϤ·¤¿¤¤»þ¤ËÌò¤ËΩ¤Ä¡£
-#! ¹Ô¤Ë¤³¤ì¤òÃÖ¤¤¤Æ¡¢Expect ¤Ë¥ª¥×¥·¥ç¥ó¤È¤·¤Æ²ò¼á¤µ¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³
-¤È¤¬¤Ç¤­¤ÆÊØÍø¤¿¡£
+に解釈させないで、スクリプトにそのまま渡したい時に役に立つ。
+#! 行にこれを置いて、Expect にオプションとして解釈させないようにするこ
+とができて便利た。
 
-Î㤨¤Ð¡¢°Ê²¼¤Î¤è¤¦¤Ë½ñ¤¯¤È(¥¹¥¯¥ê¥×¥È̾¤â´Þ¤á¤Æ)¥ª¥ê¥¸¥Ê¥ë¤Î°ú¿ô¤Ï¡¢ÊÑ¿ô
+例えば、以下のように書くと(スクリプト名も含めて)オリジナルの引数は、変数
 .IR argv
-¤Ë»Ä¤µ¤ì¤ë¡£
+に残される。
 
     #!/usr/local/bin/expect \-\-
 
-#!¹Ô¤Ë°ú¿ô¤ò²Ã¤¨¤ë¤È¡¢Ä̾ï¤Î getopt(3) ¤ä execve(2) ¤Ç¤Ï¤½¤Î°ú¿ô¤¬¸«¤¨¤Æ¤·¤Þ¤¦
-¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+#!行に引数を加えると、通常の getopt(3) や execve(2) ではその引数が見えてしまう
+ことに注意すること。
 .PP
 .\"O The file $exp_library/expect.rc is sourced automatically if present, unless
 .\"O the
@@ -415,29 +415,29 @@ stdio 
 .\"O .B \-c
 .\"O flags.
 .B \-N
-¥Õ¥é¥°¤òÍѤ¤¤Ê¤¤¸Â¤ê¡¢¥Õ¥¡¥¤¥ë $exp_library/expect.rc ¤¬(¤¢¤ì¤Ð)¼«Æ°Åª¤Ë
-¼Â¹Ô¤µ¤ì¤ë¡£
-(Expectk ¤Ç¤Ï¡¢
+フラグを用いない限り、ファイル $exp_library/expect.rc が(あれば)自動的に
+実行される。
+(Expectk では、
 .BR \-NORC )
 .B \-n
-¥Õ¥é¥°
-(Expectk ¤Ç¤Ï¡¢
+ã\83\95ã\83©ã\82°
+(Expectk では、
 .BR \-norc )
-¤òÍѤ¤¤Ê¤¤¸Â¤ê¡¢
-³¤¤¤Æ¡¢¥Õ¥¡¥¤¥ë ~/.expect.rc ¤¬¡¢¼«Æ°Åª¤Ë¼Â¹Ô¤µ¤ì¤ë¡£
-´Ä¶­ÊÑ¿ô DOTDIR ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ì¤Ð¡¢¤½¤³¤¬ .expect.rc ¤Î¤¢¤ë¥Ç¥£¥ì¥¯¥È¥ê
-¤È¤·¤Æ°·¤ï¤ì¤ë¡£
+を用いない限り、
+続いて、ファイル ~/.expect.rc が、自動的に実行される。
+環境変数 DOTDIR が定義されていれば、そこが .expect.rc のあるディレクトリ
+として扱われる。
 
-¤³¤ÎÆó¤Ä¤Îrc¥Õ¥¡¥¤¥ë¤Î¼Â¹Ô¤è¤êÀè¤Ë
+この二つのrcファイルの実行より先に
 .B \-c
-¥Õ¥é¥°¤Ç»Ø¼¨¤µ¤ì¤¿¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£
+フラグで指示されたコマンドが実行される。
 .PP
 .\"O .B \-v
 .\"O causes Expect to print its version number and exit.  (The corresponding flag
 .\"O in Expectk, which uses long flag names, is \-version.)
 .B \-v
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë¡£
-(Expectk¤Ç¤Ï¡¢\-version)
+フラグを指示すると、バージョン番号を表示して終了する。
+(Expectkでは、\-version)
 .PP
 .\"O Optional
 .\"O .I args
@@ -445,29 +445,29 @@ stdio 
 .\"O .IR argv .
 .\"O .I argc
 .\"O is initialized to the length of argv.
-¥ª¥×¥·¥ç¥ó
+オプション
 .I args
-¤Ï¡¢¥ê¥¹¥È¤ËÊÑ´¹¤µ¤ì¤Æ¡¢ÊÑ¿ô
+は、リストに変換されて、変数
 .IR argv
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 .I argc
-¤Ï¡¢argv ¤Î¥ê¥¹¥ÈĹ(Í×ÁǤοô)¤ËÀßÄꤵ¤ì¤ë¡£
+は、argv のリスト長(要素の数)に設定される。
 .PP
 .\"O .I argv0
 .\"O is defined to be the name of the script (or binary if no script is used).
 .\"O For example,
 .\"O the following prints out the name of the script and the first three arguments:
 .I argv0
-¤Ï¡¢¥¹¥¯¥ê¥×¥È̾¤ËÀßÄꤵ¤ì¤ë(¥¹¥¯¥ê¥×¥È¤ò»È¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢
-¥Ð¥¤¥Ê¥ê¤Î̾Á°¤Ë¤Ê¤ë)¡£
-Î㤨¤Ð¡¢°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¤È¡¢¥¹¥¯¥ê¥×¥È̾¤ÈºÇ½é¤Î°ú¿ô3¤Ä¤òɽ¼¨¤¹¤ë:
+は、スクリプト名に設定される(スクリプトを使っていなければ、
+バイナリの名前になる)。
+例えば、以下のスクリプトを実行すると、スクリプト名と最初の引数3つを表示する:
 .nf
 
     send_user "$argv0 [lrange $argv 0 2]\\n"
 
 .fi
 .\"O .SH COMMANDS
-.SH ¥³¥Þ¥ó¥É
+.SH コマンド
 .\"O .B Expect
 .\"O uses
 .\"O .I Tcl
@@ -485,19 +485,19 @@ stdio 
 .\"O Unless otherwise specified, commands return the empty string.
 .\"O
 .B Expect
-¤Ï¡¢
+は、
 .I Tcl
-(Tool Command Language)¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
-Tcl ¤Ï¡¢À©¸æ¥Õ¥í¡¼(Î㤨¤Ð if, for, break)¡¢¼°É¾²Á¡¢¤ª¤è¤Ó¡¢
-ºÆµ¢¤ä¥×¥í¥·¥¸¥ãÄêµÁÅù¾¤Î¤¤¤¯¤Ä¤«¤Îµ¡Ç½¤òÄ󶡤¹¤ë¡£
-¤³¤³¤Ç»È¤ï¤ì¤Æ¤¤¤ë¤Î¤ËÄêµÁ¤¬¤Ê¤¤¥³¥Þ¥ó¥É(Î㤨¤Ð¡¢
+(Tool Command Language)を使用している。
+Tcl は、制御フロー(例えば if, for, break)、式評価、および、
+再帰やプロシジャ定義等他のいくつかの機能を提供する。
+ここで使われているのに定義がないコマンド(例えば、
 .BR set ,
 .BR if ,
 .BR exec )
-¤Ï¡¢Tcl ¥³¥Þ¥ó¥É¤Ç¤¢¤ë¡£(tcl(3)¤ò»²¾È)¡£
+は、Tcl コマンドである。(tcl(3)を参照)。
 .B Expect
-¤Ï¡¢°Ê²¼¤Ëµ­½Ò¤¹¤ëÄɲå³¥Þ¥ó¥É¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡£
-µ­½Ò¤¬¤Ê¤¤¾ì¹ç¤Ï¡¢¤½¤Î¥³¥Þ¥ó¥É¤Ï¶õʸ»úÎó¤òÊÖ¤¹¡£
+は、以下に記述する追加コマンドをサポートする。
+記述がない場合は、そのコマンドは空文字列を返す。
 .PP
 .\"O Commands are listed alphabetically so that they can be quickly located.
 .\"O However, new users may find it easier to start by reading the descriptions
@@ -522,27 +522,27 @@ Tcl 
 .\"O command within the
 .\"O .B Expect
 .\"O program.)
-¥³¥Þ¥ó¥É¤Ï¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¤ÎÎó¤Ê¤Î¤Ç¤¹¤°¤Ë¤ï¤«¤ë¤È»×¤¦¤¬¡¢
-¿·¤·¤¤¥æ¡¼¥¶¡¼¤Ï¡¢
+コマンドはアルファベットの列なのですぐにわかると思うが、
+新しいユーザーは、
 .BR spawn ,
 .BR send ,
 .BR expect ,
 .BR interact ,
-¤¬¡¢¤³¤Î½ç¤Çʤó¤Ç¤¤¤ë¤È¤³¤í¤òÆɤ߻Ϥ᤿Êý¤¬Íý²ò¤·¤ä¤¹¤¤¤È
-µ¤¤¬¤Ä¤¯¤«¤âÃΤì¤Ê¤¤¡£
+が、この順で並んでいるところを読み始めた方が理解しやすいと
+気がつくかも知れない。
 
-¤³¤Î¸À¸ì(Expect ¤È Tcl ¤ÎξÊý)¤Ø¤Î¥¤¥ó¥È¥í¥À¥¯¥·¥ç¥ó¤È¤·¤Æ¤Ï¡¢
-"Exploring Expect"¤È¤¤¤¦ËÜ(´ØÏ¢¹àÌܤò»²¾È)¤¬¥Ù¥¹¥È¤Ç¤¢¤ë¡£
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ï¥ê¥Õ¥¡¥ì¥ó¥¹¤È¤·¤Æ½ñ¤¤¤Æ¤¤¤ë¤Î¤Ç¡¢
-´Þ¤Þ¤ì¤Æ¤¤¤ëÎã¤ÏÈó¾ï¤Ë¸Â¤é¤ì¤Æ¤¤¤ë¡£Ãí°Õ¤¹¤ë¤³¤È¡£
+この言語(Expect と Tcl の両方)へのイントロダクションとしては、
+"Exploring Expect"という本(関連項目を参照)がベストである。
+このマニュアルページはリファレンスとして書いているので、
+含まれている例は非常に限られている。注意すること。
 
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç¡¢Âçʸ»ú¤Î"E"¤Ç"Expect"¤È¤¢¤ì¤Ð¡¢¤½¤ì¤Ï¡¢
+このマニュアルページで、大文字の"E"で"Expect"とあれば、それは、
 .B Expect
-¥×¥í¥°¥é¥à¤ò»Ø¤·¡¢°ìÊý¾®Ê¸»ú¤Î"e"¤Ç"expect"¤È¤¢¤ì¤Ð¡¢¤½¤ì¤Ï¡¢
+プログラムを指し、一方小文字の"e"で"expect"とあれば、それは、
 .B Expect
-¥×¥í¥°¥é¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë
+プログラムに実装されている
 .B expect
-¥³¥Þ¥ó¥É¤ò»Ø¤¹¡£Ãí°Õ¤¹¤ë¤³¤È¡£
+コマンドを指す。注意すること。
 .I
 .TP 6
 .BI close " [-slave] [\-onexec 0|1] [\-i spawn_id]"
@@ -590,50 +590,50 @@ Tcl 
 .\"O See
 .\"O .B wait
 .\"O below for more info.
-¥«¥ì¥ó¥È¥×¥í¥»¥¹¤Ø¤Î¥³¥Í¥¯¥·¥ç¥ó¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
-¤Û¤È¤ó¤É¤ÎÂÐÏ÷¿¥×¥í¥°¥é¥à¤¬É¸½àÆþÎϤΠEOF ¤ò¸¡½Ð¤· exit ¤¹¤ë¡£
-¤½¤ì¤æ¤¨¡¢
+カレントプロセスへのコネクションをクローズする。
+ほとんどの対話型プログラムが標準入力の EOF を検出し exit する。
+それゆえ、
 .B close
-¤Ï¤½¤Î¥×¥í¥»¥¹¤ò kill ¤¹¤ë¤Î¤Ë¤âÄ̾シʬ¤Ç¤¢¤ë¡£
+はそのプロセスを kill するのにも通常充分である。
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢Â³¤¯ spawn_id ¤ò»ý¤Ä¥×¥í¥»¥¹¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
+フラグを指示すると、続く spawn_id を持つプロセスをクローズする。
 
 .B expect
-¤È
+と
 .B interact
-¤ÏξÊý¤È¤â¡¢¥«¥ì¥ó¥È¥×¥í¥»¥¹¤¬ exit ¤·¤¿»þÅÀ¤ò¸¡½Ð¤·¤Æ¡¢ÌÀ¼¨¤·¤Ê¤¯¤Æ¤â
+は両方とも、カレントプロセスが exit した時点を検出して、明示しなくても
 .BR close
-¤ò¼Â¹Ô¤¹¤ë¡£
-¤·¤«¤·¡¢"exec kill $pid" ¤Ê¤É¤Î¤è¤¦¤Ë¡¢¤¢¤Ê¤¿¤¬¥×¥í¥»¥¹¤ò kill ¤·¤Æ¤¤¤ë
-¤Ê¤é¡¢ÌÀ¼¨Åª¤Ë
+を実行する。
+しかし、"exec kill $pid" などのように、あなたがプロセスを kill している
+なら、明示的に
 .BR close
-¤ò¸Æ¤ÖɬÍפ¬¤¢¤ë¡£
+を呼ぶ必要がある。
 
 .BR \-onexec
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢¿·¤·¤¤ spawn ¤¬µ¯¤­¤¿»þ¤Þ¤¿¤Ï¥×¥í¥»¥¹¤¬½Å¤Í¤é¤ì¤¿»þ¤Ë
-Á°¤Î spawn ¤òÊĤ¸¤ë¤Ù¤­¤«¤É¤¦¤«¤ò»Ø¼¨¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-Á°¤Î spawn id ¤Ç³«¤¤¤¿¤Þ¤Þ¤Ë¤·¤Æ¤ª¤­¤¿¤±¤ì¤Ð¡¢ÃÍ 0 ¤òÍѤ¤¤ë¡£
-0 ¤Ç¤Ê¤¤À°¿ô¤ò»Ø¼¨¤¹¤ë¤È¡¢¿·¤·¤¤¥×¥í¥»¥¹Ãæ¤Ç¤ÏÁ°¤Î spawn ¤Ï¥¯¥í¡¼¥º¤µ¤ì¤ë
-(¥Ç¥Õ¥©¥ë¥È)¡£
+フラグを指示すると、新しい spawn が起きた時またはプロセスが重ねられた時に
+前の spawn を閉じるべきかどうかを指示することができる。
+前の spawn id で開いたままにしておきたければ、値 0 を用いる。
+0 でない整数を指示すると、新しいプロセス中では前の spawn はクローズされる
+(デフォルト)。
 
 .B \-slave
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢¤½¤Î spawn id ¤ÎÊú¤¨¤Æ¤¤¤ë¥¹¥ì¡¼¥Ö¤Î spawn ¤â¥¯¥í¡¼¥º¤¹¤ë¡£
-("spawn -pty"¤ò»²¾È)
-¥³¥Í¥¯¥·¥ç¥ó¤¬¥¯¥í¡¼¥º¤µ¤ì¤ë¤È¡¢¥¹¥ì¡¼¥Ö¤Ï¥ª¡¼¥×¥ó¾õÂ֤Ǥ¢¤Ã¤Æ¤â
-¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
+フラグを指示すると、その spawn id の抱えているスレーブの spawn もクローズする。
+("spawn -pty"を参照)
+コネクションがクローズされると、スレーブはオープン状態であっても
+クローズされる。
 
-¥³¥Í¥¯¥·¥ç¥ó¤Î¥¯¥í¡¼¥º¤¬ÌÀ¼¨¤µ¤ì¤Æ¤¤¤¿¤«Èݤ«¤ËÁ´Á³´Ø¤ï¤ê¤Ê¤¯¡¢
-´Ø·¸¤¹¤ë¥«¡¼¥Í¥ë¥×¥í¥»¥¹¥¹¥í¥Ã¥È¤ò¥¯¥ê¥¢¤·¤Æ¤·¤Þ¤¤¤¿¤±¤ì¤Ð¡¢
+コネクションのクローズが明示されていたか否かに全然関わりなく、
+関係するカーネルプロセススロットをクリアしてしまいたければ、
 .B wait
-¤ò¸Æ¤Ö¤³¤È¡£
+を呼ぶこと。
 .B close
-¤Ï¡¢
+は、
 .B wait
-¤ò¸Æ¤Ð¤Ê¤¤¡£¥×¥í¥»¥¹¤Ø¤Î¥³¥Í¥¯¥·¥ç¥ó¤ò¥¯¥í¡¼¥º¤¹¤ë¤È¡¢¤½¤Î¥×¥í¥»¥¹¤¬
-exit ¤¹¤ë¤È¤¤¤¦Êݾڤ¬¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£
-¤â¤Ã¤ÈÃΤꤿ¤±¤ì¤Ð¡¢
+を呼ばない。プロセスへのコネクションをクローズすると、そのプロセスが
+exit するという保証がないからである。
+もっと知りたければ、
 .B wait
-¤Î¹à¤ò»²¾È¤¹¤ë¤³¤È¡£
+の項を参照すること。
 .TP
 .BI debug " [[-now] 0|1]"
 .\"O controls a Tcl debugger allowing you to step through statements, set
@@ -658,40 +658,40 @@ exit 
 .\"O 
 .\"O See the README file or SEE ALSO (below)
 .\"O for more information on the debugger.
-¤Ï¡¢Tcl ¥Ç¥Ð¥Ã¥¬¤òÀ©¸æ¤¹¤ë¡£¥Ç¥Ð¥Ã¥¬¤Ë¤è¤ê¡¢¥¹¥Æ¥Ã¥×¼Â¹Ô¡¢¥Ö¥ì¡¼¥¯¥Ý¥¤¥ó¥È¤Î
-ÀßÄê¤Ê¤É¤¬¹Ô¤Ê¤¨¤ë¡£
+は、Tcl デバッガを制御する。デバッガにより、ステップ実行、ブレークポイントの
+設定などが行なえる。
 
-°ú¿ô¤¬¤Ê¤¤¾ì¹ç¡¢¥Ç¥Ð¥Ã¥¬¤¬Áö¤Ã¤Æ¤¤¤ì¤Ð 1 ¤ò¡¢¤½¤¦¤Ç¤Ê¤±¤ì¤Ð 0 ¤òÊÖ¤¹¡£
+引数がない場合、デバッガが走っていれば 1 を、そうでなければ 0 を返す。
 
-°ú¿ô¤¬ 1 ¤Ê¤é¡¢¥Ç¥Ð¥Ã¥¬¤¬µ¯Æ°¤µ¤ì¤ë¡£°ú¿ô¤¬ 0 ¤Ê¤é¡¢¥Ç¥Ð¥Ã¥¬¤¬Ää»ß¤¹¤ë¡£
-°ú¿ô 1 ¤ÎÁ°¤Ë
+引数が 1 なら、デバッガが起動される。引数が 0 なら、デバッガが停止する。
+引数 1 の前に
 .B \-now
-¥Õ¥é¥°¤¬¤¢¤ì¤Ð¡¢¥Ç¥Ð¥Ã¥¬¤Ï¨ºÂ¤Ëµ¯Æ°¤µ¤ì¤ë(¤Ä¤Þ¤ê¡¢
+フラグがあれば、デバッガは即座に起動される(つまり、
 .B debug
-¥³¥Þ¥ó¥É¤½¤Î¤â¤Î¤ÎÅÓÃæ¤Ç)¡£¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢¥Ç¥Ð¥Ã¥¬¤Ï¼¡¤Î Tcl ¥³¥Þ¥ó¥É¤«¤é
-µ¯Æ°¤µ¤ì¤ë¡£
+コマンドそのものの途中で)。そうでなければ、デバッガは次の Tcl コマンドから
+起動される。
 
 .B debug
-¥³¥Þ¥ó¥É¤Ï¥È¥é¥Ã¥×¤òÊѹ¹¤·¤Ê¤¤¡£
+コマンドはトラップを変更しない。
 .B -D
-¥Õ¥é¥°¤ò¤Ä¤±¤Æµ¯Æ°¤µ¤»¤¿¾ì¹ç¤È¤Ï¤½¤³¤¬°ã¤¦(¾åµ­»²¾È)¡£
+フラグをつけて起動させた場合とはそこが違う(上記参照)。
 
-¥Ç¥Ð¥Ã¥¬¤Ë¤Ä¤¤¤Æ¤Ï¡¢README ¥Õ¥¡¥¤¥ë¤È´ØÏ¢¹àÌܤò»²¾È¤¹¤ë¤³¤È¡£
+デバッガについては、README ファイルと関連項目を参照すること。
 .TP
 .B disconnect
 .\"O disconnects a forked process from the terminal.  It continues running in the
 .\"O background.  The process is given its own process group (if possible).
 .\"O Standard I/O is redirected to /dev/null.
-fork ¤µ¤ì¤¿¥×¥í¥»¥¹¤òüËö¤«¤éÀÚ¤êÎ¥¤¹¡£¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤Ï³¤¯¡£
-¥×¥í¥»¥¹¤Ï²Äǽ¤Ç¤¢¤ì¤Ð¼«Ê¬¼«¿È¤Î¥×¥í¥»¥¹¥°¥ë¡¼¥×¤òÍ¿¤¨¤ë¡£
-ɸ½àÆþ½ÐÎϤϡ¢/dev/null ¤Ë¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£
+fork されたプロセスを端末から切り離す。バックグラウンドで動作は続く。
+プロセスは可能であれば自分自身のプロセスグループを与える。
+標準入出力は、/dev/null にリダイレクトされる。
 .IP
 .\"O The following fragment uses
 .\"O .B disconnect
 .\"O to continue running the script in the background.  
-°Ê²¼¤ÎÃÇÊҤϡ¢
+以下の断片は、
 .B disconnect
-¤ò»È¤Ã¤Æ¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥¹¥¯¥ê¥×¥È¤Î¼Â¹Ô¤ò³¤±¤ë¡£
+を使って、バックグラウンドでスクリプトの実行を続ける。
 .nf
 
     if {[fork]!=0} exit
@@ -705,12 +705,12 @@ fork 
 .\"O (See the
 .\"O .B stty
 .\"O command which demonstrates how to turn off password echoing.)
-°Ê²¼¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤òÆɤó¤Ç¡¢°ì»þ´ÖËè¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÍ׵᤹¤ë
-¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£¥¹¥¯¥ê¥×¥È¤Ï¥Ñ¥¹¥ï¡¼¥É¤òÆɤ߹þ¤ó¤Ç¤¤¤ë¤Î¤Ç¡¢
-¥¿¥¤¥×¤¹¤ë¤Î¤Ï°ì²ó¤À¤±¤ÇºÑ¤à¡£
-(¥Ñ¥¹¥ï¡¼¥É¤Î¥¨¥³¡¼¤òÈò¤±¤ëÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢
+以下のスクリプトは、パスワードを読んで、一時間毎にパスワードを要求する
+プログラムを実行する。スクリプトはパスワードを読み込んでいるので、
+タイプするのは一回だけで済む。
+(パスワードのエコーを避ける方法については、
 .B stty
-¥³¥Þ¥ó¥É¤ò»²¾È)
+コマンドを参照)
 .nf
     send_user "password?\\ "
     expect_user -re "(.*)\\n"
@@ -738,15 +738,15 @@ fork 
 .\"O disconnected by the time
 .\"O .B Expect
 .\"O receives control.
-¥·¥§¥ë¤ÎÈóƱ´ü¼Â¹Ô(&)»þ¤Ë
+シェルの非同期実行(&)時に
 .B disconnect
-¤òÍѤ¤¤ëÍøÅÀ¤Ï¡¢
+を用いる利点は、
 .B Expect
-¤¬ disconnect ¤ÎÁ°¤ËüËö¾ðÊó¤òÊݸ¤·¤Æ¤ª¤¤¤Æ¡¢¸å¤Ç¿·¤·¤¤ pty ¤Ë¤½¤Î¥Ñ¥é¥á¥¿¤ò
-ŬÍѤǤ­¤ëÅÀ¤Ë¤¢¤ë¡£
-& ¤ò»È¤Ã¤Æ¤¤¤Æ
+が disconnect の前に端末情報を保存しておいて、後で新しい pty にそのパラメタを
+適用できる点にある。
+& を使っていて
 .B Expect
-¤¬À©¸æ¤ò¼õ¤±¤È¤Ã¤Æ disconnect ¤µ¤ì¤Æ¤·¤Þ¤¦¤È¡¢Ã¼Ëö¾ðÊó¤òÆɤ߹þ¤à¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
+が制御を受けとって disconnect されてしまうと、端末情報を読み込むことはできない。
 .TP
 .BI exit " [\-opts] [status]"
 .\"O causes
@@ -789,40 +789,40 @@ fork 
 .\"O .B exit
 .\"O is implicitly executed if the end of the script is reached.
 .B Expect
-¤ò exit ¤µ¤»¤ë¤«¡¢¤½¤Î¤¿¤á¤Î½àÈ÷¤ò¹Ô¤Ê¤¦¡£
+を exit させるか、そのための準備を行なう。
 
 .B \-onexit
-¥Õ¥é¥°¤Ï¡¢Â³¤¯°ú¿ô¤ò exit ¥Ï¥ó¥É¥é¤È¤·¤ÆÍѤ¤¤ë¡£
-°ú¿ô¤¬¤Ê¤±¤ì¤Ð¡¢exit ¥Ï¥ó¥É¥é¤Ï²¿¤â¤·¤Ê¤¤¡£
+フラグは、続く引数を exit ハンドラとして用いる。
+引数がなければ、exit ハンドラは何もしない。
 
 .B \-noexit
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È
+フラグを指定すると
 .B Expect
-¤Ï¡¢exit ¤Î½àÈ÷¤ò¤·¤Æ OS ¤ØÀ©¸æ¤òÊÖ¤¹Ä¾Á°¤ËÄä»ß¤¹¤ë¡£
-¥æ¡¼¥¶¡¼¤ÎÄêµÁ¤·¤¿ exit ¥Ï¥ó¥É¥é¤Ï¡¢Expect ¼«¿È¤ÎÆâÉô¥Ï¥ó¥É¥é¤ÈƱ¤¸¤è¤¦¤Ë
-¼Â¹Ô¤µ¤ì¤ë¡£
-¤½¤ì°Ê¾å Expect ¤Î¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£¤¢¤Ê¤¿¤¬Â¾¤Î
-Tcl Extension ¤ò Expect ¤Ë¤Ä¤±¤Æ¤¤¤ë¾ì¹ç¤Ë¤³¤Îµ¡Ç½¤Ï°ÕÌ£¤¬¤¢¤ë¡£
-Expect ¤Î
+は、exit の準備をして OS へ制御を返す直前に停止する。
+ユーザーの定義した exit ハンドラは、Expect 自身の内部ハンドラと同じように
+実行される。
+それ以上 Expect のコマンドが実行されるべきではない。あなたが他の
+Tcl Extension を Expect につけている場合にこの機能は意味がある。
+Expect 
 .B exit
-¤¬¤â¤¦°ìÅٸƤӽФµ¤ì¤ë¤È(¤³¤¦¤¤¤¦¾ì¹ç¤âµ¯¤³¤êÆÀ¤ë)¡¢¥Ï¥ó¥É¥é¤Ï½èÍý¤ò
-ÊÖ¤µ¤Ê¤¤¡£
+がもう一度呼び出されると(こういう場合も起こり得る)、ハンドラは処理を
+返さない。
 
-exit ¤¹¤ëºÝ¤Ë¡¢Á´¤Æ¤Î spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Ø¤Î¥³¥Í¥¯¥·¥ç¥ó¤Ï¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
-¥¯¥í¡¼¥º¤Ï EOF ¸¡½Ð¤Ë¤è¤Ã¤Æ¹Ô¤Ê¤ï¤ì¤ë¡£
+exit する際に、全ての spawn されたプロセスへのコネクションはクローズされる。
+クローズは EOF 検出によって行なわれる。
 .B exit
-¤Ï¡¢ÉáÄ̤Πexit(2) ¤¬¹Ô¤Ê¤¦°Ê¾å¤Î¤³¤È¤Ï¤·¤Ê¤¤¡£
-¤½¤ì¤Ç¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤¬ EOF ¤ò¥Á¥§¥Ã¥¯¤·¤Ê¤¤¾ì¹ç¡¢¤½¤Î¥×¥í¥»¥¹¤Ï
-Áö¤ê³¤±¤ë¡£(spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤ØÁ÷¤é¤ì¤¿¥·¥°¥Ê¥ë¤òȽÃǤ¹¤ë¤È¤¤¤Ã¤¿¤³¤È
-¤Ë¤ÏÊ£¿ô¤Î¾ò·ï¤¬´Ø¤ï¤Ã¤Æ¤¯¤ë¡£¤³¤ì¤é¤Ï¡¢¥·¥¹¥Æ¥à°Í¸¤Ç¤¢¤ê¡¢Åµ·¿Åª¤ÊÆ°ºî¤Ï
-³Æ¥·¥¹¥Æ¥à¤Î exit(3) ¤Î¥É¥­¥å¥á¥ó¥È¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£)
+は、普通の exit(2) が行なう以上のことはしない。
+それで、spawn されたプロセスが EOF をチェックしない場合、そのプロセスは
+走り続ける。(spawn されたプロセスへ送られたシグナルを判断するといったこと
+には複数の条件が関わってくる。これらは、システム依存であり、典型的な動作は
+各システムの exit(3) のドキュメントに記述されている。)
 
 .I status
-(»ØÄ꤬¤Ê¤¤¤È¤­¤Ï¡¢0 )¤Ï¡¢
+(指定がないときは、0 )は、
 .BR Expect
-¤Î¡¢½ªÎ»¥¹¥Æ¡¼¥¿¥¹¤È¤·¤Æ¥·¥¹¥Æ¥à¤ËÊÖ¤µ¤ì¤ë¡£
+の、終了ステータスとしてシステムに返される。
 .B exit
-¤Ï¡¢¥¹¥¯¥ê¥×¥È¤Î½ª¤ê¤Ë㤹¤ë¤È¡¢½ñ¤¤¤Æ¤¤¤Ê¤¯¤Æ¤â¼Â¹Ô¤µ¤ì¤ë¡¢
+は、スクリプトの終りに達すると、書いていなくても実行される、
 .TP
 \fBexp_continue\fR [-continue_timer]
 .\"O The command
@@ -839,17 +839,17 @@ exit 
 .\"O .B expect
 .\"O for more information.)
 .B exp_continue
-¥³¥Þ¥ó¥É¤Ï
+コマンドは
 .B expect
-¼«¿È¤ËÂԤäƤ¤¤¿Ãͤ¬Íè¤Ê¤«¤Ã¤¿»þ¤Î¤è¤¦¤Ë¡¢expect ¤Î¼Â¹Ô¤ò³¤±¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï
+自身に待っていた値が来なかった時のように、expect の実行を続ける。
+デフォルトでは
 .B exp_continue
-¤Ï»þ´ÖÀڤ쥿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£
+は時間切れタイマーをリセットする。
 .I -continue_timer
-¥Õ¥é¥°¤Ï¥¿¥¤¥Þ¡¼¤òºÆ¼Â¹Ô¤·¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¡£
-(¤è¤ê¾ÜºÙ¤Ê¾ðÊó¤Ï
+フラグはタイマーを再実行しないようにする。
+(より詳細な情報は
 .B expect
-¤ò»²¾È¤Î¤³¤È¡£)
+を参照のこと。)
 .TP
 .BI exp_internal " [\-f file] value"
 .\"O causes further commands to send diagnostic information internal to
@@ -861,13 +861,13 @@ exit 
 .\"O is 0.  The diagnostic information includes every character received,
 .\"O and every attempt made to match the current output against the patterns.
 .I value
-¤¬¥¼¥í¤Ç¤Ê¤±¤ì¤Ð¡¢°Ê¹ß¤Î¥³¥Þ¥ó¥É¤Î¿ÇÃǾðÊó¤ò
+がゼロでなければ、以降のコマンドの診断情報を
 .B Expect
-ÆâÉô¤Î stderr ¤ËÁ÷¤ë¤è¤¦¤Ë¤Ê¤ë¡£
+内部の stderr に送るようになる。
 .I value
-¤Ë0¤ò»ØÄꤹ¤ë¤È¤³¤Î½ÐÎϤϻߤޤ롣¤³¤Î¿ÇÃǾðÊó¤Ë¤Ï¡¢¼õ¤±¤È¤Ã¤¿
-¤¹¤Ù¤Æ¤Îʸ»ú¤È¡¢¸½ºß¤Î½ÐÎϤȥѥ¿¡¼¥ó¤ò¥Þ¥Ã¥Á¤µ¤»¤ëÁ´»î¹Ô¤¬
-´Þ¤Þ¤ì¤ë¡£
+に0を指定するとこの出力は止まる。この診断情報には、受けとった
+すべての文字と、現在の出力とパターンをマッチさせる全試行が
+含まれる。
 .IP
 .\"O If the optional
 .\"O .I file
@@ -881,14 +881,14 @@ exit 
 .\"O flag causes exp_internal to return a description of the
 .\"O most recent non-info arguments given.
 .I file
-¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¡¢¤¹¤Ù¤Æ¤ÎÄ̾浪¤è¤Ó¿ÇÃǽÐÎϤ¬¤½¤Î¥Õ¥¡¥¤¥ë¤Ë
-½ÐÎϤµ¤ì¤ë¡£(
+オプションを指定すると、すべての通常および診断出力がそのファイルに
+出力される。(
 .IR value
-¤ÎÃͤȤÏ̵´Ø·¸¤Ë)¡£¤¹¤Ç¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤ë¿ÇÃǽÐÎÏ¥Õ¥¡¥¤¥ë¤Ï¡¢
-¤¹¤Ù¤Æ¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
+の値とは無関係に)。すでにオープンされている診断出力ファイルは、
+すべてクローズされる。
 
 .B \-info
-¥Õ¥é¥°¤Ï¡¢ºÇ¸å¤Ë»ØÄꤵ¤ì¤¿ info ¥Õ¥é¥°¤Ç¤Ê¤¤°ú¿ô¤ÎÆâÍƤòÊÖ¤¹¡£
+フラグは、最後に指定された info フラグでない引数の内容を返す。
 .TP
 .BI exp_open " [args] [\-i spawn_id]"
 .\"O returns a Tcl file identifier that corresponds to the original spawn id.
@@ -904,57 +904,57 @@ exit 
 .\"O Expect commands.  A
 .\"O .B wait
 .\"O must be executed on the spawn id.
-¸µ¤Î spawn id ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿¥Õ¥¡¥¤¥ë ID ¤òÊÖ¤¹¡£
-¤½¤Î¥Õ¥¡¥¤¥ë ID ¤Ï¡¢Tcl ¤Î
+元の spawn id に結びつけられたファイル ID を返す。
+そのファイル ID は、Tcl の
 .B open
-¥³¥Þ¥ó¥É¤Ç¥ª¡¼¥×¥ó¤·¤¿»þ¤ÈƱÍͤ˰·¤¨¤ë¡£
-(spawn id ¤Ï¡¢¤â¤¦»È¤ï¤ì¤ë¤Ù¤­¤Ç¤Ê¤¤¡£
+コマンドでオープンした時と同様に扱える。
+(spawn id は、もう使われるべきでない。
 .B wait
-¤â¼Â¹Ô¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£)
+も実行すべきではない。)
 
 .B \-leaveopen
-¥Õ¥é¥°¤Ï¡¢spawn id ¤ò¥ª¡¼¥×¥ó¤·¤¿¤Þ¤Þ¤Ë¤·¤Æ¤ª¤¯¡£
+フラグは、spawn id をオープンしたままにしておく。
 .B wait
-¤¬¡¢¤½¤Î spawn id ¤ËÂФ·¤Æ¼Â¹Ô¤µ¤ì¤Í¤Ð¤Ê¤é¤Ê¤¤¡£
+が、その spawn id に対して実行されねばならない。
 .TP
 .BI exp_pid " [\-i spawn_id]"
 .\"O returns the process id corresponding to the currently spawned process.
 .\"O If the
 .\"O .B \-i
 .\"O flag is used, the pid returned corresponds to that of the given spawn id.
-¸½ºß¤Î spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤òÊÖ¤¹¡£
+現在の spawn されたプロセスのプロセス ID を返す。
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢Í¿¤¨¤é¤ì¤¿ spawn id ¤ËÂФ¹¤ë¥×¥í¥»¥¹¤Î ID ¤òÊÖ¤¹¡£
+フラグを指示すると、与えられた spawn id に対するプロセスの ID を返す。
 .TP
 .B exp_send
 .\"O is an alias for
 .\"O .BR send .
 .BR send
-¤Î¥¨¥¤¥ê¥¢¥¹¡£
+のエイリアス。
 .TP
 .B exp_send_error
 .\"O is an alias for
 .\"O .BR send_error .
 .BR send_error
-¤Î¥¨¥¤¥ê¥¢¥¹¡£
+のエイリアス。
 .TP
 .B exp_send_log
 .\"O is an alias for
 .\"O .BR send_log .
 .BR send_log
-¤Î¥¨¥¤¥ê¥¢¥¹¡£
+のエイリアス。
 .TP
 .B exp_send_tty
 .\"O is an alias for
 .\"O .BR send_tty .
 .BR send_tty
-¤Î¥¨¥¤¥ê¥¢¥¹¡£
+のエイリアス。
 .TP
 .B exp_send_user
 .\"O is an alias for
 .\"O .BR send_user .
 .BR send_user
-¤Î¥¨¥¤¥ê¥¢¥¹¡£
+のエイリアス。
 .TP
 .BI exp_version " [[\-exit] version]"
 .\"O is useful for assuring that the script is compatible with the current
@@ -965,13 +965,13 @@ exit 
 .\"O is returned.  This version
 .\"O may then be encoded in your script.  If you actually know that you are not
 .\"O using features of recent versions, you can specify an earlier version.
-¤Ï¡¢¥¹¥¯¥ê¥×¥È¤¬¸½¥Ð¡¼¥¸¥ç¥ó¤ÎExpect¤ÇÆ°¤¯¤³¤È¤ò³Î¤«¤á¤ë»þ¤ËÌò¤ËΩ¤Ä¡£
+は、スクリプトが現バージョンのExpectで動くことを確かめる時に役に立つ。
 .IP
-°ú¿ô¤¬¤Ê¤±¤ì¤Ð¡¢
+引数がなければ、
 .B Expect
-¤Î¸½ºß¤Î¥Ð¡¼¥¸¥ç¥ó¤òÊÖ¤¹¡£¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¤¢¤Ê¤¿¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ç
-ÀßÄꤷ¤Æ¤âÎɤ¤¡£¤¢¤Ê¤¿¤¬ºÇ¶á¤Î¥Ð¡¼¥¸¥ç¥ó¤ËÆþ¤Ã¤¿µ¡Ç½¤ò»È¤ï¤Ê¤¤¤Î
-¤Ç¤¢¤ì¤Ð¡¢¤â¤Ã¤ÈÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ò»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+の現在のバージョンを返す。このバージョンはあなたのスクリプト内で
+設定しても良い。あなたが最近のバージョンに入った機能を使わないの
+であれば、もっと前のバージョンを指定することができる。
 .IP
 .\"O Versions consist of three numbers separated by dots.  First
 .\"O is the major number.  Scripts written for versions of
@@ -980,13 +980,13 @@ exit 
 .\"O different major number will almost certainly not work.
 .\"O .B exp_version 
 .\"O returns an error if the major numbers do not match.
-¥Ð¡¼¥¸¥ç¥ó¤Ï¥É¥Ã¥È¤Ç¶èÀÚ¤é¤ì¤¿ 3 ¤Ä¤ÎÈÖ¹æ¤Ç¤¢¤ë¡£
-ºÇ½é¤ÎÈÖ¹æ¤Ï¡¢¥á¥¸¥ã¡¼ÈÖ¹æ¤Ç¤¢¤ë¡£
-°ã¤¦¥á¥¸¥ã¡¼ÈÖ¹æ¤Î
+バージョンはドットで区切られた 3 つの番号である。
+最初の番号は、メジャー番号である。
+違うメジャー番号の
 .B Expect
-ÍѤ˽ñ¤¤¤¿¥¹¥¯¥ê¥×¥È¤Ï¡¢¤Þ¤ºÆ°¤«¤Ê¤¤¡£
+用に書いたスクリプトは、まず動かない。
 .B exp_version 
-¤Ï¡¢¥á¥¸¥ã¡¼Èֹ椬¥Þ¥Ã¥Á¤·¤Ê¤¤¤È¥¨¥é¡¼¤òÊÖ¤¹¡£
+は、メジャー番号がマッチしないとエラーを返す。
 .IP
 .\"O Second is the minor number.  Scripts written for a version with a
 .\"O greater minor number than the current version
@@ -995,13 +995,13 @@ exit 
 .\"O returns an error if the major numbers match, but the script minor number
 .\"O is greater than that of the running
 .\"O .BR Expect .
-2 ÈÖ¤á¤ÎÈÖ¹æ¤Ï¥Þ¥¤¥Ê¡¼ÈÖ¹æ¤Ç¤¢¤ë¡£
-»È¤Ã¤Æ¤¤¤ë Expect ¤è¤ê¥Þ¥¤¥Ê¡¼Èֹ椬¤è¤êÂ礭¤¤ Expect ¸þ¤±¤Î¥¹¥¯¥ê¥×¥È¤Ï¡¢
-¿·µ¡Ç½¤Î»ÈÍÑ̤»ÈÍѤˤè¤ë¤¬¡¢Æ°¤«¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¡£
+2 番めの番号はマイナー番号である。
+使っている Expect よりマイナー番号がより大きい Expect 向けのスクリプトは、
+新機能の使用未使用によるが、動かないかも知れない。
 .B exp_version
-¤Ï¥á¥¸¥ã¡¼Èֹ椬¥Þ¥Ã¥Á¤·¤Æ¤â¥Þ¥¤¥Ê¡¼Èֹ椬»È¤Ã¤Æ¤¤¤ë
+はメジャー番号がマッチしてもマイナー番号が使っている
 .BR Expect
-¤Î¥Ð¡¼¥¸¥ç¥ó¤è¤êÂ礭¤¤¤È¥¨¥é¡¼¤òÊÖ¤¹¡£
+のバージョンより大きいとエラーを返す。
 .IP
 .\"O Third is a number that plays no part in the version comparison.
 .\"O However, it is incremented when the
@@ -1009,11 +1009,11 @@ exit 
 .\"O software
 .\"O distribution is changed in any way, such as by additional documentation
 .\"O or optimization.  It is reset to 0 upon each new minor version.
-3ÈÖ¤á¤ÎÈÖ¹æ¤Ï¡¢¥Ð¡¼¥¸¥ç¥óÈæ³Ó¤Ë¤Ï»È¤ï¤ì¤Ê¤¤¡£
-¤·¤«¤·¡¢Ê¸½ñ¤Î¹¹¿·¤ä¥×¥í¥°¥é¥à¤ÎºÇŬ²½¤¬¹Ô¤Ê¤ï¤ì¤Æ¡¢
+3番めの番号は、バージョン比較には使われない。
+しかし、文書の更新やプログラムの最適化が行なわれて、
 .B Expect
-¤Î¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤¬¹¹¿·¤µ¤ì¤ë¤È¡¢Èֹ椬Áý¤¨¤Æ¤¤¤¯¡£
-¿·¤·¤¤¥Þ¥¤¥Ê¡¼¥Ð¡¼¥¸¥ç¥ó¤¬ÀßÄꤵ¤ì¤ëÅ٤ˡ¢0 ¤Ë¥ê¥»¥Ã¥È¤µ¤ì¤ë¡£
+のディストリビューションが更新されると、番号が増えていく。
+新しいマイナーバージョンが設定される度に、0 にリセットされる。
 .IP
 .\"O With the
 .\"O .B \-exit
@@ -1021,9 +1021,9 @@ exit 
 .\"O .B Expect
 .\"O prints an error and exits if the version is out of date.
 .B \-exit
-¥Õ¥é¥°¤ò¤Ä¤±¤ë¤È¡¢¥Ð¡¼¥¸¥ç¥ó¤¬¹ç¤ï¤Ê¤«¤Ã¤¿»þ¤Ë
+フラグをつけると、バージョンが合わなかった時に
 .B Expect
-¤Ï¥¨¥é¡¼¤òɽ¼¨¤· exit ¤¹¤ë¡£
+はエラーを表示し exit する。
 .TP
 .BI expect " [[\-opts] pat1 body1] ... [\-opts] patn [bodyn]"
 .\"O waits until one of the patterns matches the output of a spawned process,
@@ -1036,17 +1036,17 @@ exit 
 .\"O Patterns from the most recent
 .\"O .B expect_after
 .\"O command are implicitly used after any other patterns.
-¤Ï¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Î½ÐÎϤ¬¥Ñ¥¿¡¼¥ó¤Î¤É¤ì¤«¤Ë¥Þ¥Ã¥Á¤¹¤ë¤«¡¢
-»ØÄꤵ¤ì¤¿»þ´Ö¤¬·Ð²á¤¹¤ë¤«¡¢enf-of-file ¤ò¸«¤Ä¤±¤ë¤«¡¢¤Î¤¤¤º¤ì¤«¤¬
-À®Î©¤¹¤ë¤Þ¤Ç¥¦¥§¥¤¥È¤¹¤ë¡£
-ºÇ¸å¤Î body ¤¬¶õ¤Ê¤é¡¢¤½¤ì¤Ï¾Êά¤Ç¤­¤ë¡£
+は、spawn されたプロセスの出力がパターンのどれかにマッチするか、
+指定された時間が経過するか、enf-of-file を見つけるか、のいずれかが
+成立するまでウェイトする。
+最後の body が空なら、それは省略できる。
 .IP
-°ìÈֺǸå¤Ë¼Â¹Ô¤µ¤ì¤¿
+一番最後に実行された
 .B expect_before
-¥³¥Þ¥ó¥É¤Î¥Ñ¥¿¡¼¥ó¤¬¡¢¤É¤Î¥Ñ¥¿¡¼¥ó¤è¤êÀè¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
-°ìÈֺǸå¤Ë¼Â¹Ô¤µ¤ì¤¿
+コマンドのパターンが、どのパターンより先にチェックされる。
+一番最後に実行された
 .B expect_after
-¥³¥Þ¥ó¥É¤Î¥Ñ¥¿¡¼¥ó¤¬¡¢¤É¤Î¥Ñ¥¿¡¼¥ó¤è¤ê¸å¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
+コマンドのパターンが、どのパターンより後にチェックされる。
 .IP
 .\"O If the arguments to the entire
 .\"O .B expect
@@ -1055,10 +1055,10 @@ exit 
 .\"O line with a backslash.  In this one case, the usual Tcl substitutions will
 .\"O occur despite the braces.
 .B expect
-Á´ÂΤؤΰú¿ô¤¬ 1 ¹Ô¤Ë¼ý¤Þ¤é¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢
-°ú¿ô¤ò"¥Ö¥ì¡¼¥¹"¤¹¤ë¤³¤È¤Ç¡¢³Æ¹Ô¤Î½ª¤ê¤Ë¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤ò¤Ä¤±¤ë¤Î¤ò
-Èò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¡¢¥Ö¥ì¡¼¥¹¤·¤¿¤Ë¤â¤«¤«¤ï¤é¤ºÄ̾ï¤Î Tcl Å¸³«¤¬
-ȯÀ¸¤¹¤ë¡£
+全体への引数が 1 行に収まらなかった場合は、
+引数を"ブレース"することで、各行の終りにバックスラッシュをつけるのを
+避けることができる。この場合、ブレースしたにもかかわらず通常の Tcl 展開が
+発生する。
 .IP
 .\"O If a pattern is the keyword
 .\"O .BR eof ,
@@ -1073,31 +1073,31 @@ exit 
 .\"O If a pattern is the keyword
 .\"O .BR default ,
 .\"O the corresponding body is executed upon either timeout or end-of-file.
-¤â¤·¡¢¥Ñ¥¿¡¼¥ó¤¬¥­¡¼¥ï¡¼¥É
+もし、パターンがキーワード
 .BR eof
-¤Ç¤¢¤ì¤Ð¡¢end-of-file È¯¸«»þ¤Ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¡£
-¤â¤·¡¢¥Ñ¥¿¡¼¥ó¤¬¥­¡¼¥ï¡¼¥É
+であれば、end-of-file 発見時に処理が実行される。
+もし、パターンがキーワード
 .BR timeout
-¤Ç¤¢¤ì¤Ð¡¢¥¿¥¤¥à¥¢¥¦¥È¤¬È¯À¸¤·¤¿»þ¤Ë½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¡£
-timeout ¥­¡¼¥ï¡¼¥É¤¬»È¤ï¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¥¿¥¤¥à¥¢¥¦¥È»þ¤Ë¤Ï¤Ê¤Ë¤â¤·¤Ê¤¤¡£
-¥Ç¥Õ¥©¥ë¥È¥¿¥¤¥à¥¢¥¦¥È¤Ï 10 ÉäǤ¢¤ë¡£ÀßÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£
-Î㤨¤Ð 30 ÉäÈÀßÄꤷ¤¿¤±¤ì¤Ð¡¢"set timeout 30"¤ò¼Â¹Ô¤¹¤ë¤³¤È¡£
-¥¿¥¤¥à¥¢¥¦¥È¤µ¤»¤Ê¤¤¤¿¤á¤Ë¤Ï¡¢ÃÍ \-1 ¤òÀßÄꤹ¤ë¡£
-¤â¤·¡¢¥Ñ¥¿¡¼¥ó¤¬¥­¡¼¥ï¡¼¥É
+であれば、タイムアウトが発生した時に処理が実行される。
+timeout キーワードが使われなかった場合、タイムアウト時にはなにもしない。
+デフォルトタイムアウトは 10 秒である。設定することもできる。
+例えば 30 秒と設定したければ、"set timeout 30"を実行すること。
+タイムアウトさせないためには、値 \-1 を設定する。
+もし、パターンがキーワード
 .BR default
-¤Ç¤¢¤ì¤Ð¡¢¥¿¥¤¥à¥¢¥¦¥È¤« end-of-file ¤Î¤¤¤º¤ì¤«¤Ç½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¡£
+であれば、タイムアウトか end-of-file のいずれかで処理が実行される。
 .IP
 .\"O If a pattern matches, then the corresponding body is executed.
 .\"O .B expect
 .\"O returns the result of the body (or the empty string if no pattern matched).
 .\"O In the event that multiple patterns match, the one appearing first is
 .\"O used to select a body.
-¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ì¤Ð¡¢½èÍý¤Ï¼Â¹Ô¤µ¤ì¤ë¡£
+パターンにマッチすれば、処理は実行される。
 .B expect
-¤Ï¡¢¹Ô¤Ê¤Ã¤¿½èÍý(´ØÏ¢¤¹¤ë¥Ö¥ì¡¼¥¹Æâ¤Î½èÍý)¤Î·ë²Ì¤òÊÖ¤¹¡£
-(¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿»þ¤Ï¡¢¶õʸ»úÎó¤òÊÖ¤¹¡£)
-Ê£¿ô¤Î¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢ºÇ½é¤Ë¥Þ¥Ã¥Á¤·¤¿¥Ñ¥¿¡¼¥ó¤ËÂбþ¤¹¤ë½èÍý¤¬
-¼Â¹Ô¤µ¤ì¤ë¡£
+は、行なった処理(関連するブレース内の処理)の結果を返す。
+(パターンにマッチしなかった時は、空文字列を返す。)
+複数のパターンにマッチした場合、最初にマッチしたパターンに対応する処理が
+実行される。
 .IP
 .\"O Each time new output arrives, it is compared to each pattern in the order
 .\"O they are listed.  Thus, you may test for absence of a match by making
@@ -1105,13 +1105,13 @@ timeout 
 .\"O In situations where there is no prompt, you must use
 .\"O .B timeout
 .\"O (just like you would if you were interacting manually).
-ÂÐÏ÷¿¥×¥í¥°¥é¥à¤«¤é¤Î¿·¤·¤¤½ÐÎϤ¬ Expect ¤ËÆϤ¯¤¿¤Ó¤Ë¡¢¥ê¥¹¥È¤µ¤ì¤Æ¤¤¤ë½ç¤Ë
-¥Ñ¥¿¡¼¥ó¤È¤ÎÈæ³Ó¤¬¹Ô¤Ê¤ï¤ì¤ë¡£¤½¤ì¤æ¤¨¡¢¥Þ¥Ã¥Á¤¹¤Ù¤­¤â¤Î¤¬¤Ê¤¤¤³¤È¤ò
-³Îǧ¤¹¤ë¤¿¤á¤Ë¡¢¥×¥í¥ó¥×¥È¤Î¤è¤¦¤ËÍè¤ë¤³¤È¤¬¤ï¤«¤Ã¤Æ¤¤¤ë¥Ñ¥¿¡¼¥ó¤òÍÑ°Õ¤¹¤ë
-¤³¤È¤¬¤Ç¤­¤ë¡£
-¥×¥í¥ó¥×¥È¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢(¤¢¤Ê¤¿¤¬¼ê¤ÇÂǤĻþ¤ËȽÃǤ·¤Æ¤¤¤ë¤è¤¦¤Ë)
+対話型プログラムからの新しい出力が Expect に届くたびに、リストされている順に
+パターンとの比較が行なわれる。それゆえ、マッチすべきものがないことを
+確認するために、プロンプトのように来ることがわかっているパターンを用意する
+ことができる。
+プロンプトがない場合には、(あなたが手で打つ時に判断しているように)
 .B timeout
-¤òÍѤ¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
+を用いなければならない。
 .IP
 .\"O Patterns are specified in three ways.  By default, 
 .\"O patterns are specified as with Tcl's
@@ -1125,14 +1125,14 @@ timeout 
 .\"O flags from doing so.
 .\"O Any pattern beginning with a "-" should be protected this way.  (All strings
 .\"O starting with "-" are reserved for future options.)
-¥Ñ¥¿¡¼¥ó¤Ï 3 Ä̤ê¤Ë½ñ¤±¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï¡¢Tcl ¤Î
+パターンは 3 通りに書ける。デフォルトは、Tcl の
 .B string match
-¥³¥Þ¥ó¥É¤Î½ñ¼°¤Ç¤¢¤ë¡£(¤³¤Î¥Ñ¥¿¡¼¥ó¤Ï¥°¥í¥Ö¤Ç»²¾È¤µ¤ì¤ë C-shell ¤ÎÀµµ¬É½¸½¤Ë
-»÷¤Æ¤¤¤ë¡£)
+コマンドの書式である。(このパターンはグロブで参照される C-shell の正規表現に
+似ている。)
 .B \-gl
-¥Õ¥é¥°¤Ï¡¢Â¾¤Î¥Þ¥Ã¥Á¤«¤é¥Ñ¥¿¡¼¥ó¤òÊݸ¤ë¤Î¤Ë»È¤¦¡£
-"-"¤Ç»Ï¤Þ¤ë¥Ñ¥¿¡¼¥ó¤Ï¡¢¤³¤ÎÊýË¡¤ÇÊݸ¤Ù¤­¤Ç¤¢¤ë¡£
-("-"¤Ç»Ï¤Þ¤ëʸ»úÎó¤Ï¾­Íè¤Î³ÈÄ¥¤Ç¡¢¥ª¥×¥·¥ç¥ó¤È¤·¤Æ»È¤ï¤ì¤ë¤«¤âÃΤì¤Ê¤¤¤«¤é)
+フラグは、他のマッチからパターンを保護するのに使う。
+"-"で始まるパターンは、この方法で保護すべきである。
+("-"で始まる文字列は将来の拡張で、オプションとして使われるかも知れないから)
 
 
 .IP
@@ -1140,10 +1140,10 @@ timeout 
 .\"O (Note that
 .\"O .B abort
 .\"O is presumed to be a procedure defined elsewhere in the script.)
-Î㤨¤Ð¡¢°Ê²¼¤ÎÃÇÊÒ¤Ï¥í¥°¥¤¥ó¤ÎÀ®¸ù¤ò´Æ»ë¤¹¤ë¡£
+例えば、以下の断片はログインの成功を監視する。
 .RB ( abort
-¤Ï¥¹¥¯¥ê¥×¥È¤Î¤É¤³¤«Â¾¤Î¾ì½ê¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£
-Ãí°Õ¤¹¤ë¤³¤È¡£)
+はスクリプトのどこか他の場所で定義されていると仮定している。
+注意すること。)
 .nf
 
 .ta \w'      expect 'u +\w'invalid password    'u
@@ -1161,12 +1161,12 @@ timeout 
 .\"O Patterns with the same action (such as the 3rd and 4th) require listing the
 .\"O actions again.  This can be avoid by using regexp-style patterns (see below).
 .\"O More information on forming glob-style patterns can be found in the Tcl manual.
-4ÈÖ¤á¤Î¥Ñ¥¿¡¼¥ó¤Ë¤Ï¥¹¥Ú¡¼¥¹¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¥¯¥ª¡¼¥È¤¬É¬ÍפǤ¢¤ë¡£
-¥¢¥¯¥·¥ç¥ó¤È¥Ñ¥¿¡¼¥ó¤òʬΥ¤¹¤ë¥»¥Ñ¥ì¡¼¥¿¤Ç¤Ê¤¤¤³¤È¤ò»Ø¼¨¤¹¤ëɬÍפ¬¤¢¤ë¡£
-(3ÈÖ¤á¤È4ÈÖ¤á¤Î)¤è¤¦¤ËƱ¤¸¥¢¥¯¥·¥ç¥ó¤ò»ý¤Ä¥ê¥¯¥¨¥¹¥È¤âʤ٤ƽñ¤¯É¬Íפ¬
-¤¢¤ë¡£¤³¤ì¤Ï¡¢Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤òÍѤ¤¤ë¤³¤È¤Ç²óÈò¤Ç¤­¤ë(²¼µ­»²¾È)¡£
-¥°¥í¥Ö¥¹¥¿¥¤¥ë¥Ñ¥¿¡¼¥ó¤Ë¤Ä¤¤¤Æ¤â¤Ã¤È¾ðÊó¤¬Íߤ·¤±¤ì¤Ð¡¢Tcl ¤Î¥Þ¥Ë¥å¥¢¥ë¤ò
-Æɤळ¤È¡£
+4番めのパターンにはスペースが含まれているのでクオートが必要である。
+アクションとパターンを分離するセパレータでないことを指示する必要がある。
+(3番めと4番めの)ように同じアクションを持つリクエストも並べて書く必要が
+ある。これは、正規表現パターンを用いることで回避できる(下記参照)。
+グロブスタイルパターンについてもっと情報が欲しければ、Tcl のマニュアルを
+読むこと。
 .IP
 .\"O Regexp-style patterns follow the syntax defined by Tcl's
 .\"O .B regexp
@@ -1174,13 +1174,13 @@ timeout 
 .\"O regexp patterns are introduced with the flag
 .\"O .BR \-re .
 .\"O The previous example can be rewritten using a regexp as:
-Àµµ¬É½¸½¥Ñ¥¿¡¼¥ó¤Ï¡¢Tcl ¤Î
+正規表現パターンは、Tcl の
 .B regexp
-("regular expression"¤Îû½Ì)¥³¥Þ¥ó¥É¤ÇÄêµÁ¤µ¤ì¤ëʸˡ¤Ë½¾¤¦¡£
-regexp¥Ñ¥¿¡¼¥ó¤Ï¡¢
+("regular expression"の短縮)コマンドで定義される文法に従う。
+regexpパターンは、
 .BR \-re
-¥Õ¥é¥°¤Ç»Ï¤á¤ë¡£
-Á°¤ÎÎã¤ò¡¢regexp ¤Ç½ñ¤­Ä¾¤¹¤È¡¢¤³¤¦¤Ê¤ë¡£:
+フラグで始める。
+前の例を、regexp で書き直すと、こうなる。:
 .nf
 
 .ta \w'      expect 'u +\w'connected    'u
@@ -1214,23 +1214,23 @@ regexp
 .\"O interpretation of *, ^, etc is made (although the usual Tcl
 .\"O conventions must still be observed).
 .\"O Exact patterns are always unanchored.
-¤É¤Á¤é¤Î¥Ñ¥¿¡¼¥ó¤Î¥¿¥¤¥×¤â¡¢"¸ÇÄꤵ¤ì¤Æ¤¤¤Ê¤¤"¡£¤É¤¦¤¤¤¦°ÕÌ£¤«¤È¤¤¤¦¤È¡¢
-ʸ»úÎóÁ´ÂΤ˥ޥåÁ¤¹¤ëɬÍפϤʤ¯¤Æ¡¢Ê¸»úÎó¤Î¤É¤³¤Ç¤â¥Þ¥Ã¥Á¤¹¤ì¤Ð
-Îɤ¤¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£^ ¤¬ÀèƬ¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£ $ ¤¬ËöÈø¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£
-ʸ»úÎó¤ÎËöÈø¤Ë¥Þ¥Ã¥Á¤µ¤»¤Ê¤±¤ì¤Ð¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤«¤é¥¨¥³¡¼¤µ¤ì¤¿
-ʸ»úÎó¤ÎÅÓÃæ¤ÇÀÚ¤ê¾å¤²¤Æ¥ì¥¹¥Ý¥ó¥¹¤òÊÖ¤»¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
-Àµ¤·¤¯½èÍý¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Æ¤â¡¢½ÐÎϤÏÉÔ¼«Á³¤Ë¸«¤¨¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
-¤½¤ì¤Ç¡¢Ê¸»úÎó¤Î½ª¤ê¤Îʸ»ú¤òÀµ³Î¤Ëµ­½Ò¤Ç¤­¤ë¤Ê¤é¡¢$ ¤ò»È¤¦¤³¤È¤ò´«¤á¤ë¡£
-
-¿¤¯¤Î¥¨¥Ç¥£¥¿¤Ç¤Ï¡¢^ ¤È $ ¤Ï¹ÔƬ¡¢¹ÔËö¤ËÀµ³Î¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£
-¤·¤«¤·¡¢expect ¤Ï¹Ô»Ø¸þ¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢(¹Ô¤Ç¤Ï¤Ê¤¯)¥Ç¡¼¥¿¤Î»Ï¤Þ¤ê¤È½ª¤ê¤Ë
-¥Þ¥Ã¥Á¤¹¤ë¡£
-("EXPECT¥Ò¥ó¥È"Æâ¤Î¡¢¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤Î¾Ã²½ÉÔÎɤ˴ؤ¹¤ëÉôʬ¤ò»²¾È¤Î¤³¤È)
+どちらのパターンのタイプも、"固定されていない"。どういう意味かというと、
+文字列全体にマッチする必要はなくて、文字列のどこでもマッチすれば
+良いということである。^ が先頭にマッチする。 $ が末尾にマッチする。
+文字列の末尾にマッチさせなければ、spawn されたプロセスからエコーされた
+文字列の途中で切り上げてレスポンスを返せることに注意すること。
+正しく処理が実行されていても、出力は不自然に見える可能性がある。
+それで、文字列の終りの文字を正確に記述できるなら、$ を使うことを勧める。
+
+多くのエディタでは、^ と $ は行頭、行末に正確にマッチする。
+しかし、expect は行指向ではないので、(行ではなく)データの始まりと終りに
+マッチする。
+("EXPECTヒント"内の、バッファリングの消化不良に関する部分を参照のこと)
 
 .B \-ex
-¥Õ¥é¥°¤Ï¡¢"Àµ³Î¤Ë(exact)"»Ø¼¨¤µ¤ì¤¿Ê¸»úÎó¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£
-* ¤ä ^ ¤Ê¤É¤Î²ò¼á¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£(¤¿¤À¤·¡¢Ä̾ï¤Î Tcl Å¸³«¤Ï¹Ô¤Ê¤ï¤ì¤ë)¡£
-Exact ¥Ñ¥¿¡¼¥ó¤Ï¾ï¤Ë¸ÇÄꤵ¤ì¤Æ¤¤¤ë¡£
+フラグは、"正確に(exact)"指示された文字列にマッチする。
+* や ^ などの解釈は行なわれない。(ただし、通常の Tcl 展開は行なわれる)。
+Exact パターンは常に固定されている。
 
 
 .IP
@@ -1239,8 +1239,8 @@ Exact 
 .\"O flag causes uppercase characters of the output to compare as if they were
 .\"O lowercase characters.  The pattern is not affected.
 .B \-nocase
-¥Õ¥é¥°¤Ï¡¢¾®Ê¸»ú¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¤ËÂçʸ»ú¤ËÊÑ´¹¤·¤Æ¤«¤é¥Þ¥Ã¥Á¤µ¤»¤ë¡£
-¥Ñ¥¿¡¼¥ó¤Ë¤Ï±Æ¶Á¤·¤Ê¤¤¡£
+フラグは、小文字が含まれている場合に大文字に変換してからマッチさせる。
+パターンには影響しない。
 .IP
 .\"O While reading output,
 .\"O more than 2000 bytes can force earlier bytes to be "forgotten".
@@ -1258,21 +1258,21 @@ Exact 
 .\"O .B full_buffer
 .\"O keyword is used, the forgotten characters are written to
 .\"O expect_out(buffer).
-½ÐÎϤòÆɤó¤Ç¤¤¤Æ¡¢2000 ¥Ð¥¤¥È¤òĶ¤¨¤Æ¤·¤Þ¤Ã¤¿¥Ç¡¼¥¿¤Ï"˺¤ì¤é¤ì¤ë"¡£
-¤³¤ÎÆ°ºî¤Ï¡¢
+出力を読んでいて、2000 バイトを超えてしまったデータは"忘れられる"。
+この動作は、
 .BR match_max
-´Ø¿ô¤ÇÊѹ¹¤Ç¤­¤ë¡£
-(¶Ëü¤ËÂ礭¤ÊÃͤϥѥ¿¡¼¥ó¥Þ¥Ã¥Á¤ÎÀ­Ç½¤òÄã²¼¤µ¤»¤ë¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£)
+関数で変更できる。
+(極端に大きな値はパターンマッチの性能を低下させることに注意すること。)
 .I patlist
-¤Ë
+に
 .BR full_buffer
-¤ò»ØÄꤹ¤ë¤È¡¢
+を指定すると、
 .I match_max
-¥Ð¥¤¥È°Ê¾å¤Î¥Ç¡¼¥¿¤ò¼õ¤±¤Æ¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿¤È¤­¤Ë¡¢½èÍý¤¬¼Â¹Ô¤µ¤ì¤ë¡£
+バイト以上のデータを受けてパターンマッチしなかったときに、処理が実行される。
 .B full_buffer
-¥­¡¼¥ï¡¼¥É¤Î̵ͭ¤Ë´Ø¤ï¤é¤º¡¢Ëº¤ì¤é¤ì¤¿¥Ç¡¼¥¿¤Ï
+キーワードの有無に関わらず、忘れられたデータは
 expect_out(buffer)
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 
 .\"O If
 .\"O .I patlist
@@ -1285,13 +1285,13 @@ expect_out(buffer)
 .\"O It is not possible to
 .\"O match 0 bytes via glob or regexp patterns.
 .I patlist
-¤Ë¡¢¥­¡¼¥ï¡¼¥É
+に、キーワード
 .BR null
-¤ò»ØÄꤹ¤ë¤È¡¢¥Ì¥ëʸ»ú¤¬µö²Ä¤µ¤ì
+を指定すると、ヌル文字が許可され
 (
 .B remove_nulls
-¥³¥Þ¥ó¥É¤òÄ̤·¤Æ)¡¢¥Ì¥ëʸ»ú(ASCII 0)¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£
-glob ¤ä regexp ¤Ç¤Ï 0 ¥Ð¥¤¥È¤Ë¥Þ¥Ã¥Á¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
+コマンドを通して)、ヌル文字(ASCII 0)にマッチする。
+glob や regexp では 0 バイトにマッチすることができない。
 
 .\"O Upon matching a pattern (or eof or full_buffer),
 .\"O any matching and previously unmatched output is saved in the variable
@@ -1313,36 +1313,36 @@ glob 
 .\"O where X is a digit, corresponds to the substring position in the buffer.
 .\"O 0 refers to strings which matched the entire pattern
 .\"O and is generated for glob patterns as well as regexp patterns.
-¥Ñ¥¿¡¼¥ó(¤¢¤ë¤¤¤Ï¡¢eol, full_buffer)¤Ë¥Þ¥Ã¥Á¤¹¤ë¤È¡¢¥Þ¥Ã¥Á¤·¤¿Éôʬ¤Îʸ»úÎ󤫡¢
-¤½¤ÎÁ°¤Î¥Þ¥Ã¥Á¤·¤Ê¤«¤Ã¤¿Ê¸»úÎ󤬡¢ÊÑ¿ô
+パターン(あるいは、eol, full_buffer)にマッチすると、マッチした部分の文字列か、
+その前のマッチしなかった文字列が、変数
 .IR expect_out(buffer)
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 
-9 ¸Ä¤Þ¤Ç¤Î¥Þ¥Ã¥Á¤·¤¿Éôʬʸ»úÎó¤Ï¡¢ÊÑ¿ô
+9 個までのマッチした部分文字列は、変数
 .I expect_out(1,string)
-¤«¤é
+から
 .IR expect_out(9,string)
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 .B -indices
-¥Õ¥é¥°¤ò¥Ñ¥¿¡¼¥ó¤ÎÁ°¤Ç»ØÄꤹ¤ë¤È¡¢¥Þ¥Ã¥Á¤·¤¿Éôʬʸ»úÎó¤Î
-³«»Ï°ÌÃ֤ȽªÎ»°ÌÃÖ¤¬(
+フラグをパターンの前で指定すると、マッチした部分文字列の
+開始位置と終了位置が(
 .BR lrange
-¤Î°ú¿ô¤È¤·¤Æ»È¤¨¤ë·Á¤Ç)¡¢ÊÑ¿ô
+の引数として使える形で)、変数
 .I expect_out(X,start)
-¤È
+と
 .I expect_out(X,end)
-¤ËÊݸ¤µ¤ì¤ë¡£
-X ¤Ï¿ô»ú¤Ç 0 ¡Á 9 ¤Þ¤Ç¡£
-0 ¤Ï¥Ñ¥¿¡¼¥óÁ´ÂΤ¬¥Þ¥Ã¥Á¤·¤¿Éôʬ¤ò»Ø¼¨¤¹¤ë¡£
+に保存される。
+X は数字で 0 〜 9 まで。
+0 はパターン全体がマッチした部分を指示する。
 .\"O For example, if a process has produced output of "abcdefgh\\n", the result of:
-Î㤨¤Ð¡¢¥×¥í¥»¥¹¤¬"abcdefgh\\n"¤ò½ÐÎϤ·¡¢°Ê²¼¤Î·Á:
+例えば、プロセスが"abcdefgh\\n"を出力し、以下の形:
 .nf
 
     expect "cd"
 
 .fi
 .\"O is as if the following statements had executed:
-¤Ç¼õ¤±¤ë¤È¡¢°Ê²¼¤Îʸ¤ò¼Â¹Ô¤·¤¿¤Î¤ÈƱ¤¸·ë²Ì¤È¤Ê¤ë¡£
+で受けると、以下の文を実行したのと同じ結果となる。
 .nf
 
     set expect_out(0,string) cd
@@ -1350,16 +1350,16 @@ X 
 
 .fi
 .\"O and "efgh\\n" is left in the output buffer.
-¤³¤Î»þ¡¢"efgh\\n"¤Ï½ÐÎϥХåե¡¤Ë»Ä¤ë¡£
+この時、"efgh\\n"は出力バッファに残る。
 .\"O If a process produced the output "abbbcabkkkka\\n", the result of:
-¥×¥í¥»¥¹¤¬"abbbcabkkkka\\n"¤ò½ÐÎϤ·¡¢°Ê²¼¤Î·Á:
+プロセスが"abbbcabkkkka\\n"を出力し、以下の形:
 .nf
 
     expect \-indices \-re "b(b*).*(k+)"
 
 .fi
 .\"O is as if the following statements had executed:
-¤Ç¼õ¤±¤ë¤È¡¢°Ê²¼¤Îʸ¤ò¼Â¹Ô¤·¤¿¤Î¤ÈƱ¤¸·ë²Ì¤Ë¤Ê¤ë¡£
+で受けると、以下の文を実行したのと同じ結果になる。
 .nf
 
     set expect_out(0,start) 1
@@ -1377,20 +1377,20 @@ X 
 .\"O and "a\\n" is left in the output buffer.  The pattern "*" (and -re ".*") will
 .\"O flush the output buffer without reading any more output from the
 .\"O process.
-¤³¤Î»þ¡¢"a\\n"¤Ï½ÐÎϥХåե¡¤Ë»Ä¤ë¡£
-¥Ñ¥¿¡¼¥ó"*" (¤È -re ".*")¤Ï¡¢¥×¥í¥»¥¹¤«¤é¤Î¥Ç¡¼¥¿¤¬¤µ¤é¤ËÍè¤Ê¤¤¸Â¤ê¡¢
-½ÐÎϥХåե¡¤ò¥Õ¥é¥Ã¥·¥å¤·¤Ê¤¤¡£
+この時、"a\\n"は出力バッファに残る。
+パターン"*" (と -re ".*")は、プロセスからのデータがさらに来ない限り、
+出力バッファをフラッシュしない。
 .IP
 .\"O Normally, the matched output is discarded from Expect's internal buffers.
 .\"O This may be prevented by prefixing a pattern with the
 .\"O .B \-notransfer
 .\"O flag.  This flag is especially useful in experimenting (and can be
 .\"O abbreviated to "-not" for convenience while experimenting).
-Ä̾¥Þ¥Ã¥Á¤·¤¿½ÐÎϤϠExpect ¤ÎÆâÉô¥Ð¥Ã¥Õ¥¡¤«¤é¡¢ÀÚ¤ê¼Î¤Æ¤é¤ë¡£
-¤³¤ÎÆ°ºî¤Ï¡¢
+通常、マッチした出力は Expect の内部バッファから、切り捨てらる。
+この動作は、
 .B \-notransfer
-¥Õ¥é¥°¤ÇÍ޻ߤ¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¥Õ¥é¥°¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ò»î¤·¤Æ¤¤¤ë»þ¤Ë
-Ìò¤ËΩ¤Ä(¤½¤·¤Æ¡¢"-not"¤Èάµ­¤·¤Æ¤âÎɤ¤)¡£
+フラグで抑止することができる。このフラグは、スクリプトを試している時に
+役に立つ(そして、"-not"と略記しても良い)。
 
 .\"O The spawn id associated with the matching output (or eof or
 .\"O full_buffer) is stored in
@@ -1409,29 +1409,29 @@ X 
 .\"O .BR \-i ).
 .\"O The spawn_id list should either be a whitespace separated list of spawn_ids
 .\"O or a variable referring to such a list of spawn_ids.
-¥Þ¥Ã¥Á¤·¤¿½ÐÎϤòÁ÷¤Ã¤Æ¤­¤¿¥×¥í¥»¥¹¤Ø¤Î spawn id ¤Ï¡¢
+マッチした出力を送ってきたプロセスへの spawn id は、
 .IR expect_out(spawn_id)
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 
 .B \-timeout
-¥Õ¥é¥°¤Ï¡¢¤³¤Î expect ¥³¥Þ¥ó¥É¤ÎÃæ¤Î timeout »þ¹ï¤ò timeout ÊÑ¿ô¤Ç¤Ê¤¯
-»Ø¼¨¤µ¤ì¤¿ÃͤËÀßÄꤹ¤ë¡£
+フラグは、この expect コマンドの中の timeout 時刻を timeout 変数でなく
+指示された値に設定する。
 
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ñ¥¿¡¼¥ó¤Ï¥«¥ì¥ó¥È¥×¥í¥»¥¹¤«¤é¤Î½ÐÎϤ˥ޥåÁ¤µ¤»¤ë¤Î¤À¤¬¡¢
+デフォルトでは、パターンはカレントプロセスからの出力にマッチさせるのだが、
 .B \-i
-¥Õ¥é¥°¤òÀßÄꤹ¤ë¤È¡¢»ØÄꤵ¤ì¤¿ spawn_id ¥ê¥¹¥È¤ËÂбþ¤¹¤ë¥×¥í¥»¥¹·²¤«¤é¤Î½ÐÎϤË
-¥Þ¥Ã¥Á¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£(¼¡¤Î
+フラグを設定すると、指定された spawn_id リストに対応するプロセス群からの出力に
+マッチさせることができる。(次の
 .BR \-i
-¤Ç¤Î»ØÄ꤬¤¢¤ë¤Þ¤ÇÍ­¸ú¤Ç¤¢¤ë¡£)
-spawn_id ¥ê¥¹¥È¤Ï¡¢¥¹¥Ú¡¼¥¹¤Ç¶èÀڤä¿ spawn_id ¤Î¥ê¥¹¥È¤«¡¢¤½¤Î¤è¤¦¤ÊÃͤò»ý¤Ä
-ÊÑ¿ô¤Ø¤Î»²¾È¤Ç¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
+での指定があるまで有効である。)
+spawn_id リストは、スペースで区切った spawn_id のリストか、そのような値を持つ
+変数への参照でなくてはならない。
 
 .\"O For example, the following example waits for
 .\"O "connected" from the current process, or "busy", "failed" or "invalid
 .\"O password" from the spawn_id named by $proc2.
-Î㤨¤Ð¡¢°Ê²¼¤ÎÎã¤Ï¥«¥ì¥ó¥È¥×¥í¥»¥¹¤«¤é¤Î"connected"¤È
-$proc2 ¤È¸À¤¦Ì¾Á°¤Î spawn_id ¤«¤é¤Î"busy","failed","invalid password"
-¤òÂÔ¤Á¼õ¤±¤ë¡£
+例えば、以下の例はカレントプロセスからの"connected"と
+$proc2 と言う名前の spawn_id からの"busy","failed","invalid password"
+を待ち受ける。
 .nf
 
     expect {
@@ -1482,41 +1482,41 @@ $proc2 
 .\"O .B expect
 .\"O itself to continue
 .\"O executing rather than returning as it normally would.
-Âç°èÊÑ¿ô
+大域変数
 .I any_spawn_id
-¤ÎÃͤϡ¢
-º£¤Î
+の値は、
+今の
 .B expect
-¥³¥Þ¥ó¥ÉÆâ¤Ç
+コマンド内で
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤·¤¿ spawn_id ¤ÎÁ´¤Æ¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£
+フラグを指示した spawn_id の全てにマッチさせるために使われる。
 .B \-i
-¥Õ¥é¥°¤ò¥Ñ¥¿¡¼¥ó¤Ê¤·¤Ç»ØÄꤹ¤ë¤È(¤¹¤Ê¤ï¤Á¡¢Ê̤Î
+フラグをパターンなしで指定すると(すなわち、別の
 .BR \-i
-¤¬Ä¾¸å¤Ë³¤¯¤È)¡¢
+が直後に続くと)、
 .I any_spawn_id
-¤Ç»ØÄꤵ¤ì¤¿¡¢Æ±¤¸
+で指定された、同じ
 .B expect
-¥³¥Þ¥ó¥ÉÆâ¤Î¾¤Î¥Ñ¥¿¡¼¥ó¤ËÂФ·¤Æ¡¢Í­¸ú¤Ë¤Ê¤ë¡£
+コマンド内の他のパターンに対して、有効になる。
 
 .B \-i
-¥Õ¥é¥°¤Ë¤Ï¡¢¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Î̾Á°¤ò»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£¤½¤Î¾ì¹ç¡¢
-¤½¤ÎÊÑ¿ô¤Ï¡¢spawn id ¤Î¥ê¥¹¥È¤Ç¤¢¤ë¡£ÊÑ¿ô¤ÏÊѤï¤ë¤¿¤Ó¤ËÆɤßľ¤µ¤ì¤ë¡£
-¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¤Ë I/O ¥½¡¼¥¹¤òÊѹ¹¤¹¤ë¤³¤È
-¤¬¤Ç¤­¤ë¡£¤³¤ÎÊýË¡¤Ç»ØÄꤵ¤ì¤ë spawn id ¤ò"´ÖÀÜ(indirect)" spawn id
-¤È¸Æ¤Ö¡£
+フラグには、グローバル変数の名前を指定することもできる。その場合、
+その変数は、spawn id のリストである。変数は変わるたびに読み直される。
+こうすることで、コマンドが実行されている間に I/O ソースを変更すること
+ができる。この方法で指定される spawn id を"間接(indirect)" spawn id
+と呼ぶ。
 
 .B break
-¤ä
+や
 .B continue
-¤Ê¤É¤Î¥¢¥¯¥·¥ç¥ó¤Ï¡¢À©¸æ¹½Â¤(¤¹¤Ê¤ï¤Á¡¢
+などのアクションは、制御構造(すなわち、
 .BR for , proc
-)Æâ¤ÇÄ̾ïÄ̤ê¤Î¿¶Éñ¤¤¤ò¤¹¤ë¡£
+)内で通常通りの振舞いをする。
 
 .B exp_continue
-¥³¥Þ¥ó¥É¤Ï¡¢
+コマンドは、
 .B expect
-¥ë¡¼¥×¤«¤éÈ´¤±¤ë¤è¤¦¤Ê¾õ¶·¤Ç¼Â¹Ô¤ò³¤±¤µ¤»¤ë¡£
+ループから抜けるような状況で実行を続けさせる。
 .IP
 .\"O This is useful for avoiding explicit loops or repeated expect statements.
 .\"O The following example is part of a fragment to automate rlogin.  The
@@ -1524,12 +1524,12 @@ $proc2 
 .\"O avoids having to write a second
 .\"O .B expect
 .\"O statement (to look for the prompt again) if the rlogin prompts for a password.
-¥ë¡¼¥×¤ò½ñ¤¤¤¿¤ê¡¢expect ¥³¥Þ¥ó¥É¤ò·«¤êÊÖ¤¹¤³¤È¤òÈò¤±¤ë»þ¤ËÊØÍø¤Ç¤¢¤ë¡£
-°Ê²¼¤ÎÎã¤Ï¥í¥°¥¤¥ó¤ò¼«Æ°²½¤¹¤ë¥³¡¼¥É¤ÎÃÇÊҤǤ¢¤ë¡£
+ループを書いたり、expect コマンドを繰り返すことを避ける時に便利である。
+以下の例はログインを自動化するコードの断片である。
 .B exp_continue
-¤Ë¤è¤Ã¤Æ¡¢(ºÆ¤Ó¥×¥í¥ó¥×¥È¤òõ¤¹¤¿¤á¤Î)2 ¤Ä¤á¤Î
+によって、(再びプロンプトを探すための)2 つめの
 .B expect
-¥³¥Þ¥ó¥É¤ò½ñ¤«¤Ê¤¯¤ÆºÑ¤ó¤Ç¤¤¤ë¡£
+コマンドを書かなくて済んでいる。
 .nf
 
     expect {
@@ -1567,18 +1567,18 @@ $proc2 
 .\"O .B expect
 .\"O to continue pattern matching after executing the
 .\"O current action.
-Î㤨¤Ð¡¢°Ê²¼¤ÎÃÇÊҤϴû¤Ë¼«Æ°²½¤µ¤ì¤Æ¤¤¤ë¥æ¡¼¥¶¡¼¥¬¥¤¥É¤Ø¤Î¤ä¤ê¤È¤ê¤ò
-Êä½õ¤¹¤ë¡£
-¤³¤Î¾ì¹ç¡¢Ã¼Ëö¤Ï raw ¥â¡¼¥É¤Ë¤Ê¤ë¡£
-¥æ¡¼¥¶¡¼¤¬'+'¤ò²¡¤¹¤ÈÊÑ¿ô¤¬¥¤¥ó¥¯¥ê¥á¥ó¥È¤µ¤ì¤ë¡£
-"p"¤¬²¡¤µ¤ì¤ë¤È¡¢¥×¥í¥»¥¹¤ØÉüµ¢¾ðÊó¤¬Á÷¤é¤ì¤ë¡£
-¤ª¤½¤é¤¯¤ÏƱ¤¸¤è¤¦¤Ë"i"¤¬²¡¤µ¤ì¤ë¤È¡¢¥¹¥¯¥ê¥×¥È¤«¤éÀ©¸æ¤òÃ¥¤¤¡¢
-¥æ¡¼¥¶¡¼¤«¤é¤ÎÀ©¸æ¤¬¹Ô¤Ê¤¨¤ë¡£
-¤É¤Î¾ì¹ç¤â
+例えば、以下の断片は既に自動化されているユーザーガイドへのやりとりを
+補助する。
+この場合、端末は raw モードになる。
+ユーザーが'+'を押すと変数がインクリメントされる。
+"p"が押されると、プロセスへ復帰情報が送られる。
+おそらくは同じように"i"が押されると、スクリプトから制御を奪い、
+ユーザーからの制御が行なえる。
+どの場合も
 .B exp_continue
-¥³¥Þ¥ó¥É¤¬¡¢º£¤Î
+コマンドが、今の
 .B expect
-¤Ë¡¢½èÍý¤ò¹Ô¤Ê¤ï¤»¤¿¸åºÆ¤Ó¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤µ¤»¤Æ¤¤¤ë¡£
+に、処理を行なわせた後再びパターンマッチさせている。
 .nf
 
     stty raw \-echo
@@ -1599,14 +1599,14 @@ $proc2 
 .\"O is called with the 
 .\"O .B \-continue_timer
 .\"O flag.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .B exp_continue
-¤Ï¡¢¥¿¥¤¥à¥¢¥¦¥È¥¿¥¤¥Þ¡¼¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£
-¥¿¥¤¥Þ¤òºÆ³«¤µ¤»¤ë¤Ë¤Ï¡¢
+は、タイムアウトタイマーをリセットする。
+タイマを再開させるには、
 .B exp_continue
-¥³¥Þ¥ó¥É¤Ë
+コマンドに
 .B \-continue_timer
-¥Õ¥é¥°¤ò¤Ä¤±¤ë¡£
+フラグをつける。
 .TP
 .BI expect_after " [expect_args]"
 .\"O works identically to the
@@ -1620,18 +1620,18 @@ $proc2 
 .\"O pattern is used.  See the
 .\"O .B expect_before
 .\"O command for more information.
-¤Ï¡¢
+は、
 .B expect_before
-¤ÈƱÍͤÎÆ°¤­¤ò¤¹¤ë¤¬¡¢
+と同様の動きをするが、
 .B expect
-¤È
+と
 .B expect_after
-¤ÎξÊý¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢
+の両方にマッチした場合、
 .B expect
-¤Î¥Ñ¥¿¡¼¥ó¤¬»ÈÍѤµ¤ì¤ëÅÀ¤¬°Û¤Ê¤ë¡£
-¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï¡¢
+のパターンが使用される点が異なる。
+より詳しい情報は、
 .B expect_before
-¥³¥Þ¥ó¥É¤Î¹à¤ò»²¾È¤Î¤³¤È¡£
+コマンドの項を参照のこと。
 .TP
 .BI expect_background " [expect_args]"
 .\"O takes the same arguments as
@@ -1675,47 +1675,47 @@ $proc2 
 .\"O .B expect_background
 .\"O with no pattern removes the given spawn id
 .\"O from the ability to match patterns in the background.
-¤Ï¡¢
+は、
 .BR expect
-¤ÈƱ¤¸°ú¿ô¤ò¤È¤ë¤¬¡¢¤½¤Î¾ì¤ÇÉüµ¢¤¹¤ë¡£
-¥Ñ¥¿¡¼¥ó¤Ï¿·¤·¤¤¥Ç¡¼¥¿¤¬ÆϤ¯¤¿¤Ó¤Ë¥Á¥§¥Ã¥¯¤µ¤ì¤ë¡£
-¥Ñ¥¿¡¼¥ó
+と同じ引数をとるが、その場で復帰する。
+パターンは新しいデータが届くたびにチェックされる。
+パターン
 .B timeout
-¤È
+と
 .B default
-¤Ï¡¢
+は、
 .BR expect_background
-¤Ë¤Ï¡¢°ÕÌ£¤¬¤Ê¤¤¤·¡¢Ìµ»ë¤µ¤ì¤ë¡£
+には、意味がないし、無視される。
 .B expect
-¤ÈƱÍͤˡ¢
+と同様に、
 .B expect_background
-¥³¥Þ¥ó¥É¤Ï
+コマンドは
 .B expect_before
-¤ä
+や
 .B expect_after
-¥Ñ¥¿¡¼¥ó¤ò»È¤¨¤ë¡£
+パターンを使える。
 
 .B expect_background
-¥¢¥¯¥·¥ç¥ó¤¬¡¢É¾²Á¤µ¤ì¤ë»þ¡¢Æ±¤¸ spawn id ¤ò»ý¤Ä
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤Ï¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¡£
-¥¢¥¯¥·¥ç¥ó¤¬´°Î»¤¹¤ë¤È¡¢¥×¥í¥»¥¹¤¬¥¢¥ó¥Ö¥í¥Ã¥¯¤µ¤ì¤ë¡£
-¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¥×¥í¥»¥¹¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤ë´Ö¤Ï¡¢
-(¥Õ¥©¥¢¥°¥é¥¦¥ó¥É¤Î)
+アクションが、評価される時、同じ spawn id を持つ
+バックグラウンドプロセスはブロックされる。
+アクションが完了すると、プロセスがアンブロックされる。
+バックグラウンドプロセスがブロックされている間は、
+(フォアグラウンドの)
 .B expect
-¤Ç¡¢Æ±¤¸ spawn id ¤ËÀܳ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-µÕ¤Ë¡¢
+で、同じ spawn id に接続することができる。
+逆に、
 .B expect_background
-¤¬¥Ö¥í¥Ã¥¯¤µ¤ì¤Æ¤¤¤Ê¤¤´Ö¤Ï
+がブロックされていない間は
 .B expect
-¤¹¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£
-ÆÃÄê¤Î spawn id ¤Ø¤Î
+することができない。
+特定の spawn id への
 .B expect_background
-¤Ï¡¢Æ±°ì spawn id ¤Ø¤Î¿·¤·¤¤ expect_background ¤ò»ØÄꤹ¤ë¤È
-ºï½ü¤µ¤ì¤ë¡£
-¥Ñ¥¿¡¼¥ó¤ò¤Ä¤±¤Ê¤¤
+は、同一 spawn id への新しい expect_background を指定すると
+削除される。
+パターンをつけない
 .B expect_background
-¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤µ¤»¤ë¤³¤È
-¤ò¤ä¤á¤µ¤»¤é¤ì¤ë¡£
+を指定することで、バックグラウンドでパターンマッチさせること
+をやめさせられる。
 .TP
 .BI expect_before " [expect_args]"
 .\"O takes the same arguments as
@@ -1749,46 +1749,46 @@ $proc2 
 .\"O patterns match against the spawn id defined at the time that the 
 .\"O .B expect_before
 .\"O command was executed (not when its pattern is matched).
-¤Ï
+は
 .BR expect
-¤ÈƱ¤¸°ú¿ô¤ò¤È¤ë¤¬¡¢¤½¤Î¾ì¤ÇÉüµ¢¤¹¤ë¡£
-¤â¤Ã¤È¤âºÇ¶á¡¢Æ±¤¸ spawn id ¤ËÂФ·¤Æ
+と同じ引数をとるが、その場で復帰する。
+もっとも最近、同じ spawn id に対して
 .B expect_before
-¤Ç»È¤ï¤ì¤¿¥Ñ¥¿¡¼¥ó¡¦¥¢¥¯¥·¥ç¥ó¤Î¥Ú¥¢¤¬¡¢Â³¤¯
+で使われたパターン・アクションのペアが、続く
 .B expect
-¥³¥Þ¥ó¥É¤ËÂФ·¤Æ»ÈÍѤµ¤ì¤ë¡£
-¥Ñ¥¿¡¼¥ó¤¬¥Þ¥Ã¥Á¤¹¤ë¤È¡¢
+コマンドに対して使用される。
+パターンがマッチすると、
 .B expect
-¥³¥Þ¥ó¥É¤Ë¥Þ¥Ã¥Á¤·¤¿»þ¤ÈƱ¤¸¤è¤¦¤ËÆ°ºî¤¹¤ë¡£
-½èÍý¤Ï¡¢¤½¤Î
+コマンドにマッチした時と同じように動作する。
+処理は、その
 .B expect
-¤Î¥³¥ó¥Æ¥­¥¹¥È¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£
+のコンテキストで行なわれる。
 .B expect_before
-¤È
+と
 .B expect
-¤ÎξÊý¤Î¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¡¢
+の両方のパターンにマッチした場合、
 .B expect_before
-¤Î¥Ñ¥¿¡¼¥ó¤¬»È¤ï¤ì¤ë¡£
+のパターンが使われる。
 
-¥Ñ¥¿¡¼¥ó¤¬»Ø¼¨¤µ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢spawn id ¤Ï
-¤É¤Î¥Ñ¥¿¡¼¥ó¤Ç¤â¥Á¥§¥Ã¥¯¤µ¤ì¤Ê¤¤¡£
+パターンが指示されなかった場合、spawn id は
+どのパターンでもチェックされない。
 
 .B \-i
-¥Õ¥é¥°¤ò¤µ¤é¤Ë»ØÄꤷ¤Ê¤¤¸Â¤ê¡¢
+フラグをさらに指定しない限り、
 .B expect_before
-¥Ñ¥¿¡¼¥ó¤Ï¡¢
+パターンは、
 .B expect_before
-¤¬¼Â¹Ô¤µ¤ì¤¿»þ¤ËÄêµÁ¤µ¤ì¤¿¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£
+が実行された時に定義されたパターンにマッチする。
 
 .\"O The \-info flag causes
 .\"O .B expect_before
 .\"O to return the current specifications of what patterns it will match.
 .\"O By default, it reports on the current spawn id.  An optional spawn id specification may be given for information on that spawn id.  For example
-\-info ¥Õ¥é¥°¤Ï
+\-info フラグは
 .B expect_before
-¤«¤é¡¢¥Þ¥Ã¥Á¥Ñ¥¿¡¼¥ó¤Î¸½ºß¤Î¾õÂÖ¤òÉüµ¢¤µ¤»¤ë¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¸½ºß¤Î spawn id ¤ËÊó¹ð¤¹¤ë¡£¥ª¥×¥·¥ç¥ó¤Î spawn id ¤ò
-»ØÄꤹ¤ë¤³¤È¤â¤Ç¤­¤ë¡£Î㤨¤Ð¡¢
+から、マッチパターンの現在の状態を復帰させる。
+デフォルトでは、現在の spawn id に報告する。オプションの spawn id を
+指定することもできる。例えば、
 .nf
 
     expect_before -info -i $proc
@@ -1801,14 +1801,14 @@ $proc2 
 .\"O "-info" to report on all spawn ids.
 .\"O 
 .\"O The output of the \-info flag can be reused as the argument to expect_before.
-¤¿¤Ã¤¿°ì¤Ä¤Î spawn id »ØÄê¤À¤±¤¬µö¤µ¤ì¤ë¡£\-indirect ¥Õ¥é¥°¤Ç¡¢Ä¾ÀÜ
-spawn id ¤òÍ޻ߤ·¡¢´ÖÀÜŪ¤Ê»ØÄ꤫¤éÆÀ¤é¤ì¤ëid¤ò»Ø¼¨¤¹¤ë¡£
+たった一つの spawn id 指定だけが許される。\-indirect フラグで、直接
+spawn id を抑止し、間接的な指定から得られるidを指示する。
 
-spawn id ¤ò»Ø¼¨¤¹¤ëÂå¤ï¤ê¤Ë¡¢"-all"¥Õ¥é¥°¤ò»È¤Ã¤Æ¡¢
-Á´¤Æ¤Î spawn id ¤Ë "-info" ¤ÎÊó¹ð¤ò¤µ¤»¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+spawn id を指示する代わりに、"-all"フラグを使って、
+全ての spawn id に "-info" の報告をさせることができる。
 
-\-info ¥Õ¥é¥°¤ò»È¤Ã¤¿»þ¤Î½ÐÎÏ·ë²Ì¤Ï¡¢expect_before ¤Ø¤Î°ú¿ô¤È¤·¤Æ
-ºÆÍøÍѤǤ­¤ë¡£
+\-info フラグを使った時の出力結果は、expect_before への引数として
+再利用できる。
 .TP
 .BI expect_tty " [expect_args]"
 .\"O is like
@@ -1823,19 +1823,19 @@ spawn id 
 .\"O (see the
 .\"O .B stty
 .\"O command below).
-¤Ï¡¢
+は、
 .B expect
-¤È»÷¤¿Æ°¤­¤ò¤¹¤ë¤¬¡¢Ê¸»úÎó¤ò /dev/tty (¤¹¤Ê¤ï¤Á¡¢¥æ¡¼¥¶¡¼¤«¤é¤Î¥­¡¼ÆþÎÏ)
-¤«¤éÆɤ߹þ¤à¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢cooked mode ¤ÇÆɤ߹þ¤Þ¤ì¤ë¤Î¤Ç¡¢
-¹Ô¤Ï¥ê¥¿¡¼¥ó¤Ç½ª¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤½¤¦¤·¤Ê¤¤¤È
+と似た動きをするが、文字列を /dev/tty (すなわち、ユーザーからのキー入力)
+から読み込む。
+デフォルトでは、cooked mode で読み込まれるので、
+行はリターンで終らなければならない。そうしないと
 .B expect
-¤¬Æɤá¤Ê¤¤¡£¤³¤ÎÆ°¤­¤Ï¡¢
+が読めない。この動きは、
 .B stty
-¤ò»È¤Ã¤ÆÊѤ¨¤é¤ì¤ë¡£
-(²¼¤Î
+を使って変えられる。
+(下の
 .B stty
-¥³¥Þ¥ó¥É¤ò»²¾È)
+コマンドを参照)
 .TP
 .BI expect_user " [expect_args]"
 .\"O is like
@@ -1850,19 +1850,19 @@ spawn id 
 .\"O (see the
 .\"O .B stty
 .\"O command below).
-¤Ï
+は
 .B expect
-¤È»÷¤¿Æ°¤­¤ò¤¹¤ë¤¬¡¢Ê¸»úÎó¤ò stdin(¤¹¤Ê¤ï¤Á¡¢¥æ¡¼¥¶¡¼¤«¤é¤Î¥­¡¼ÆþÎÏ)
-¤«¤éÆɤ߹þ¤à¡£
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢cooked mode ¤ÇÆɤ߹þ¤Þ¤ì¤ë¤Î¤Ç¡¢
-¹Ô¤Ï¥ê¥¿¡¼¥ó¤Ç½ª¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤½¤¦¤·¤Ê¤¤¤È
+と似た動きをするが、文字列を stdin(すなわち、ユーザーからのキー入力)
+から読み込む。
+デフォルトでは、cooked mode で読み込まれるので、
+行はリターンで終らなければならない。そうしないと
 .B expect
-¤¬Æɤá¤Ê¤¤¡£¤³¤ÎÆ°¤­¤Ï¡¢
+が読めない。この動きは、
 .B stty
-¤ò»È¤Ã¤ÆÊѤ¨¤é¤ì¤ë¡£
-(²¼¤Î
+を使って変えられる。
+(下の
 .B stty
-¥³¥Þ¥ó¥É¤ò»²¾È)
+コマンドを参照)
 .TP
 .B fork
 .\"O creates a new process.  The new process is an exact copy of the current
@@ -1874,16 +1874,16 @@ spawn id 
 .\"O On failure (invariably due to lack of resources, e.g., swap space, memory),
 .\"O .B fork
 .\"O returns \-1 to the parent process, and no child process is created.
-¤Ï¡¢¿·¤·¤¤¥×¥í¥»¥¹¤òºî¤ë¡£¤³¤Î¿·¤·¤¤¥×¥í¥»¥¹¤Ï¡¢¸½ºß¤Î
+は、新しいプロセスを作る。この新しいプロセスは、現在の
 .B Expect
-¥×¥í¥»¥¹¤ÎÀµ³Î¤Ê¥³¥Ô¡¼¤Ç¤¢¤ë¡£
-À®¸ù¤¹¤ë¤È
+プロセスの正確なコピーである。
+成功すると
 .B fork
-¤Ï ¿·¤·¤¤(»Ò)¥×¥í¥»¥¹¤Ë 0 ¤òÊÖ¤·¡¢¿Æ¥×¥í¥»¥¹¤Ë »Ò¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ID¤ò
-ÊÖ¤¹¡£
-¼ºÇÔ¤¹¤ë(¥¹¥ï¥Ã¥×¡¢¥á¥â¥ê¤Ê¤É¤Î¥ê¥½¡¼¥¹ÉÔ­¤«?)¤È¡¢
+は 新しい(子)プロセスに 0 を返し、親プロセスに 子プロセスのプロセスIDを
+返す。
+失敗する(スワップ、メモリなどのリソース不足か?)と、
 .B fork
-¤Ï¡¢¿Æ¥×¥í¥»¥¹¤Ë \-1 ¤òÊÖ¤¹¡£¿·¤·¤¤»Ò¥×¥í¥»¥¹¤ÏºîÀ®¤µ¤ì¤Ê¤¤¡£
+は、親プロセスに \-1 を返す。新しい子プロセスは作成されない。
 .\"O .IP
 .\"O Forked processes exit via the
 .\"O .B exit
@@ -1892,40 +1892,40 @@ spawn id 
 .\"O disable debugging or logging in most of the processes, the result can be
 .\"O confusing.
 .IP
-¥Õ¥©¡¼¥¯¤µ¤ì¤¿¥×¥í¥»¥¹¤Ï¡¢
+フォークされたプロセスは、
 .B exit
-¥³¥Þ¥ó¥É¤Ç ext ¤Ç¤­¤ë¡£¸µ¤Î¥×¥í¥»¥¹¤ÈƱÍͤǤ¢¤ë¡£
-¥Õ¥©¡¼¥¯¤µ¤ì¤¿¥×¥í¥»¥¹¤Ï¥í¥°¥Õ¥¡¥¤¥ë¤òºî¤Ã¤Æ¤âÎɤ¤¡£Â¿¤¯¤Î¥×¥í¥»¥¹¤Ç
-¥Ç¥Ð¥Ã¥°¤â¥í¥°¤â¤Ç¤­¤Ê¤±¤ì¤Ð¡¢·ë²Ì¡¢º®Í𤹤ë¤À¤±¤Ç¤¢¤ë¡£
+コマンドで ext できる。元のプロセスと同様である。
+フォークされたプロセスはログファイルを作っても良い。多くのプロセスで
+デバッグもログもできなければ、結果、混乱するだけである。
 .\"O .IP
 .\"O Some pty implementations may be confused by multiple readers and writers,
 .\"O even momentarily.  Thus, it is safest to
 .\"O .B fork
 .\"O before spawning processes.
 .IP
-pty ¤Î¥¤¥ó¥×¥ê¥á¥ó¥Æ¡¼¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï¡¢Ê£¿ô¤ÎÆɤ߼ê¤È½ñ¤­¼ê¤¬°ì½Ö¤Ç¤â¤¢¤ì¤Ð¡¢
-º®Í𤹤ë¤â¤Î¤¬¤¢¤ë¡£¤½¤ì¤Ç¡¢¥×¥í¥»¥¹¤ò spawn ¤¹¤ëÁ°¤Ë¤Ï
+pty のインプリメンテーションの中には、複数の読み手と書き手が一瞬でもあれば、
+混乱するものがある。それで、プロセスを spawn する前には
 .B fork
-¤·¤Æ¤ª¤¯¤Î¤¬°ìÈÖ°ÂÁ´¤Ç¤¢¤ë¡£
+しておくのが一番安全である。
 .TP
 .BI interact " [string1 body1] ... [stringn [bodyn]]"
 .\"O gives control of the current process to the user, so that
 .\"O keystrokes are sent to the current process,
 .\"O and the stdout and stderr of the current process are returned.
-¤Ï¡¢¸½¥×¥í¥»¥¹¤ÎÀ©¸æ¤ò¥æ¡¼¥¶¡¼¤ËÅϤ¹¡£·ë²Ì¡¢
-¸½¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤¿¥­¡¼¥¹¥È¥í¡¼¥¯¤È¸½¥×¥í¥»¥¹¤Îɸ½à½ÐÎϤÈɸ½à¥¨¥é¡¼½ÐÎϤ¬
-Éüµ¢¤¹¤ë¡£
+は、現プロセスの制御をユーザーに渡す。結果、
+現プロセスに送られたキーストロークと現プロセスの標準出力と標準エラー出力が
+復帰する。
 .IP
 .\"O String-body pairs may be specified as arguments, in which case the
 .\"O body is executed when the corresponding string is entered.  (By default, the
 .\"O string is not sent to the current process.)   The
 .\"O .B interpreter
 .\"O command is assumed, if the final body is missing.
-string ¤È body ¤ÎÁȤ¬¡¢°ú¿ô¤È¤·¤Æ»Ø¼¨¤Ç¤­¤ë¡£(¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
-ʸ»úÎó¤Ï¸½¥×¥í¥»¥¹¤Ë¤ÏÁ÷¤é¤ì¤Ê¤¤)
-ºÇ¸å¤Î body ¤¬¤Ê¤¤¤È¡¢
+string と body の組が、引数として指示できる。(デフォルトでは、
+文字列は現プロセスには送られない)
+最後の body がないと、
 .B interpreter
-¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡£
+コマンドが実行される。
 .IP
 .\"O If the arguments to the entire
 .\"O .B interact
@@ -1934,9 +1934,9 @@ string 
 .\"O line with a backslash.  In this one case, the usual Tcl substitutions will
 .\"O occur despite the braces.
 .B interact
-¥³¥Þ¥ó¥ÉÁ´ÂΤؤΰú¿ô¤¬°ì¹Ô¤Ë¼ý¤Þ¤é¤Ê¤¤¾ì¹ç¡¢"brace"¤¹¤ë¤³¤È¤Ç³Æ¹Ô¤Î½ª¤ê¤Ë
-¥Ð¥Ã¥¯¥¹¥é¥Ã¥·¥å¤òÆþ¤ì¤ë¤Î¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î¾ì¹ç¡¢Tcl ¤ÎŸ³«¤Ï
-¥Ö¥ì¡¼¥¹¤·¤Æ¤¢¤Ã¤Æ¤âµ¯¤³¤ë¡£
+コマンド全体への引数が一行に収まらない場合、"brace"することで各行の終りに
+バックスラッシュを入れるのを避けることができる。この場合、Tcl の展開は
+ブレースしてあっても起こる。
 .IP
 .\"O For example, the following command runs interact with the following
 .\"O string-body pairs defined:  When ^Z is pressed,
@@ -1953,22 +1953,22 @@ string 
 .\"O When ~~ is pressed, the
 .\"O .B Expect
 .\"O interpreter runs interactively.
-Î㤨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï³¤¯ string body ¤ÎÁȤÈÂÐÏ乤롣
-: ^Z ¤¬²¡¤µ¤ì¤ë¤È
+例えば、以下のコマンドは続く string body の組と対話する。
+: ^Z が押されると
 .B Expect
-¤Ï¥µ¥¹¥Ú¥ó¥É¤¹¤ë¡£
+はサスペンドする。
 (
 .B \-reset
-¥Õ¥é¥°¤Ï¡¢Ã¼Ëö¥â¡¼¥É¤òÉüµì¤µ¤»¤ë¡£)
-^A ¤¬²¡¤µ¤ì¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¤Ï"you typed a control-A"¤¬Ê֤롣
- $ ¤¬²¡¤µ¤ì¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë¤ÏÆüÉÕ¤¬Ê֤롣
-^C ¤¬²¡¤µ¤ì¤ë¤È¡¢
+フラグは、端末モードを復旧させる。)
+^A が押されると、ユーザーには"you typed a control-A"が返る。
+ $ が押されると、ユーザーには日付が返る。
+^C が押されると、
 .B Expect
-¤Ï¡¢exit ¤¹¤ë¡£
-"foo"¤¬ÆþÎϤµ¤ì¤ë¤È¡¢¥æ¡¼¥¶¡¼¤Ë "bar" ¤¬Ê֤롣
-~~ ¤¬²¡¤µ¤ì¤ë¤È¡¢
+は、exit する。
+"foo"が入力されると、ユーザーに "bar" が返る。
+~~ が押されると、
 .B Expect
-¥¤¥ó¥¿¥×¥ê¥¿¤Ï¡¢ÂÐÏå⡼¥É¤Ë¤Ê¤ë¡£
+インタプリタは、対話モードになる。
 .nf
 
 .ta \w'    interact 'u +\w'$CTRLZ  'u +\w'{'u
@@ -1994,12 +1994,12 @@ string 
 .\"O possibly begin another match.  Thus, strings that are substrings of
 .\"O partial matches can match later, if the original strings that was attempting
 .\"O to be match ultimately fails.
-string ¤È body ¤ÎÁȤǡ¢string ¤¬°ú¿ô¤È¤·¤Æʤ٤é¤ì¤¿½ç¤ËÈæ³Ó¤µ¤ì¤ë¡£
-ÉôʬŪ¤Ë¥Þ¥Ã¥Á¤·¤¿Ê¸»úÎó¤Ï¡¢»Ä¤ê¤¬ÅþÃ夹¤ë¤Þ¤ÇÁ÷¤é¤ì¤ÆÍè¤Ê¤¤¡£
-²¿Ê¸»ú¤«¤µ¤é¤ËÂǤÁ¹þ¤Þ¤ì¤Æ¡¢¥Þ¥Ã¥Á¤¬²Äǽ¤Ë¤Ê¤ë¤È¡¢º£¤Î¥Þ¥Ã¥Á¤òȽÃǤ¹¤ë
-¤¿¤á¤Ë¤À¤±»È¤ï¤ì¤Æ¾¤Î¥Þ¥Ã¥Á¤ò»Ï¤á¤ë¤³¤È¤Ï¤·¤Ê¤¤¡£¤½¤ì¤æ¤¨¡¢ÉôʬŪ¤Ë
-¥Þ¥Ã¥Á¤·¤Æ¤¤¤ëʸ»úÎó¤Î¥Þ¥Ã¥Á¤¬´°Î»¤¹¤ë¤Î¤ÏÃÙ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£
-ÉôʬŪ¤Ë¤Ï¥Þ¥Ã¥Á¤¹¤ë¤¬ºÇ½ªÅª¤Ë¤Ï¥Þ¥Ã¥Á¤·¤Ê¤¤Ê¸»úÎó¤Î¾ì¹ç¤Ê¤É¤Ç¤¢¤ë¡£
+string と body の組で、string が引数として並べられた順に比較される。
+部分的にマッチした文字列は、残りが到着するまで送られて来ない。
+何文字かさらに打ち込まれて、マッチが可能になると、今のマッチを判断する
+ためにだけ使われて他のマッチを始めることはしない。それゆえ、部分的に
+マッチしている文字列のマッチが完了するのは遅れることがある。
+部分的にはマッチするが最終的にはマッチしない文字列の場合などである。
 .IP
 .\"O By default, string matching is exact with no wild cards.  (In contrast,
 .\"O the
@@ -2011,16 +2011,16 @@ string 
 .\"O flags from doing so.
 .\"O Any pattern beginning with a "-" should be protected this way.    (All strings
 .\"O starting with "-" are reserved for future options.)
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥ï¥¤¥ë¥É¥«¡¼¥É¤ò´Þ¤Þ¤Ê¤¤¥Þ¥Ã¥Á¤Ï¡¢exact¤È¤Ê¤ë¡£
+デフォルトでは、ワイルドカードを含まないマッチは、exactとなる。
 (
 .B expect
-¥³¥Þ¥ó¥É¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¥°¥í¥Ö¥¹¥¿¥¤¥ë¤Î¥Ñ¥¿¡¼¥ó¤òÍѤ¤¤ë¤Î¤È¤ÏÂоÈŪ¤Ë¡£)
+コマンドがデフォルトでグロブスタイルのパターンを用いるのとは対照的に。)
 .B \-ex
-¥Õ¥é¥°¤Ï¡¢¥Ñ¥¿¡¼¥ó¤ò¥×¥í¥Æ¥¯¥È¤¹¤ë¤Î¤Ë»È¤¨¤ë¡£
+フラグは、パターンをプロテクトするのに使える。
 .B interact
-¥Õ¥é¥°¤¬¤½¤¦¤¹¤ë¤è¤¦¤Ë¡£
-¥Ñ¥¿¡¼¥ó¤¬"-"¤Ç»Ï¤Þ¤ë¾ì¹ç¡¢¤³¤ÎÊýË¡¤ÇÊݸî¤Ç¤­¤ë¡£
-("-"¤Ç»Ï¤Þ¤ëʸ»úÎó¤ÏÁ´¤Æ¾­Íè¤Î¥ª¥×¥·¥ç¥ó¤È¤·¤ÆͽÌ󤵤ì¤Æ¤¤¤ë¡£)
+フラグがそうするように。
+パターンが"-"で始まる場合、この方法で保護できる。
+("-"で始まる文字列は全て将来のオプションとして予約されている。)
 
 .\"O The
 .\"O .B \-re
@@ -2061,44 +2061,44 @@ string 
 .\"O .B expect
 .\"O command) has no affect on this timeout.
 .B \-re
-¥Õ¥é¥°¤Ï¡¢Àµµ¬É½¸½¥¹¥¿¥¤¥ë¤Î¥Ñ¥¿¡¼¥ó¤È¤·¤Æʸ»úÎó¤ò²ò¼á¤¹¤ë¡£
-¤³¤Î¾ì¹ç¡¢¥Þ¥Ã¥Á¤·¤¿Éôʬʸ»úÎó¤Ï
+フラグは、正規表現スタイルのパターンとして文字列を解釈する。
+この場合、マッチした部分文字列は
 .I interact_out
-¤ËÊݸ¤µ¤ì¤ë¡£
+に保存される。
 .B expect
-¤¬¡¢¤½¤Î½ÐÎϤòÊÑ¿ô
+が、その出力を変数
 .BR expect_out
-¤ËÊݸ¤¹¤ë¤Î¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£
+に保存するのと似たようなものである。
 .B \-indices
-¥Õ¥é¥°¤âƱ¤¸¤è¤¦¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤ë¡£
+フラグも同じようにサポートされる。
 
-¥Ñ¥¿¡¼¥ó
+パターン
 .B eof
-¤Ï¡¢end-of-file ¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¤Ë¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¡£
-Ê£¿ô¤Ëʬ¤«¤ì¤¿
+は、end-of-file にマッチした場合にアクションを実行する。
+複数に分かれた
 .B eof
-¥Ñ¥¿¡¼¥ó¤Ë¤Ï
+パターンには
 .B \-output
-¥Õ¥é¥°¤¬Â³¤¤¤Æ¤âÎɤ¤¡£¤½¤Î¾ì¹ç¡¢½ÐÎϤ¬½ñ¤«¤ì¤Æ¤¤¤ë´Ö¤Ë eof ¤¬¸¡½Ð¤µ¤ì¤ë¤È
-¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¡£
+フラグが続いても良い。その場合、出力が書かれている間に eof が検出されると
+アクションを実行する。
 .B eof
-¤Î¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó¤Ï"return"¤Ç¤¢¤ë¡£
-¤½¤ì¤Ç¡¢
+のデフォルトアクションは"return"である。
+それで、
 .B interact
-¤Ï¡¢EOF ¤ò¸«¤Ä¤±¤ë¤ÈÉüµ¢¤¹¤ë¡£
+は、EOF を見つけると復帰する。
 
 .B timeout
-¥Ñ¥¿¡¼¥ó¤Ï¡¢(ÉäÇɽ¸½¤µ¤ì¤¿)¥¿¥¤¥à¥¢¥¦¥È¤Ë¥Þ¥Ã¥Á¤·¡¢¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¡£
+パターンは、(秒で表現された)タイムアウトにマッチし、アクションを実行する。
 .B timeout
-¥Ñ¥¿¡¼¥ó¤Ï¡¢ºÇ¸å¤Ë»Ø¼¨¤µ¤ì¤¿¥×¥í¥»¥¹¤ËŬÍѤµ¤ì¤ë¡£¥¿¥¤¥à¥¢¥¦¥È¤Ë¤Ï
-¥Ç¥Õ¥©¥ë¥È¤ÎÃͤϤʤ¤¡£(expectÆâ¤Ç»È¤ï¤ì¤ë)Æüì¤ÊÊÑ¿ô"timeout"¤Ï¡¢
-¤³¤Î¥¿¥¤¥à¥¢¥¦¥È¤È´Ø·¸¤·¤Ê¤¤¡£
+パターンは、最後に指示されたプロセスに適用される。タイムアウトには
+デフォルトの値はない。(expect内で使われる)特殊な変数"timeout"は、
+このタイムアウトと関係しない。
 
 .\"O For example, the following statement could be used to autologout users who have
 .\"O not typed anything for an hour but who still get frequent system
 .\"O messages:
-Î㤨¤Ð¡¢°Ê²¼¤Îµ­½Ò¤Ï°ì»þ´Ö°Ê¾å¥¿¥¤¥×¤·¤Ê¤«¤Ã¤¿¥æ¡¼¥¶¡¼¤ò¼«Æ°Åª¤Ë¥í¥°¥¢¥¦¥È
-¤µ¤»¤ë¡£¤½¤ÎÁ°¤Ë¥·¥¹¥Æ¥à¤«¤éÉÑÈˤ˥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¤È¤ë:
+例えば、以下の記述は一時間以上タイプしなかったユーザーを自動的にログアウト
+させる。その前にシステムから頻繁にメッセージを受けとる:
 .nf
 
     interact -input $user_spawn_id timeout 3600 return -output \\
@@ -2150,50 +2150,50 @@ string 
 .\"O will cause the interact to continue, while
 .\"O .B inter_return
 .\"O will cause the interact to return to its caller.)
-¥Ñ¥¿¡¼¥ó
+パターン
 .BR null
-¤È nulls ¤Ï¡¢(
+と nulls は、(
 .B remove_nulls
-¥³¥Þ¥ó¥É¤òÄ̤·¤Æ)¡¢¥¢¥¹¥­¡¼¤Î 0 ¤Ë¥Þ¥Ã¥Á¤·¤¿¾ì¹ç¤Ë¥¢¥¯¥·¥ç¥ó¤ò¼Â¹Ô¤¹¤ë¡£
-glob ¤ä regexp ¤Ç 0 ¥Ð¥¤¥È¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¤³¤È¤Ï¤Ç¤­¤Ê¤¤¡£
+コマンドを通して)、アスキーの 0 にマッチした場合にアクションを実行する。
+glob や regexp で 0 バイトにマッチさせることはできない。
 
-¤³¤Î¥Ñ¥¿¡¼¥ó¤ÎÁ°¤Ë
+このパターンの前に
 .B \-iwrite
-¥Õ¥é¥°¤ò¤Ä¤±¤ë¤È¡¢
-ÊÑ¿ô
+フラグをつけると、
+変数
 .I interact_out(spawn_id)
-¤Ë¥Ñ¥¿¡¼¥ó(¤¢¤ë¤¤¤Ïeof)¤Ë¥Þ¥Ã¥Á¤·¤¿ spawn_id ¤¬ÀßÄꤵ¤ì¤ë¡£
+にパターン(あるいはeof)にマッチした spawn_id が設定される。
 
 .B break
-¤ä
+や
 .B continue
-¤È¤¤¤Ã¤¿¥¢¥¯¥·¥ç¥ó¤Ï¡¢À©¸æ¹½Â¤
-(¤¹¤Ê¤ï¤Á¡¢
+といったアクションは、制御構造
+(すなわち、
 .BR for
-¤ä
+や
 .BR proc
-)¤ÎÃæ¤Ç¡¢Ä̾ïÄ̤ê¤ËÆ°¤¯¡£
-¤·¤«¤·¡¢
+)の中で、通常通りに動く。
+しかし、
 .B return
-¤Ï¡¢interact ¤ò¸Æ½Ð¸µ¤ËÉüµ¢¤µ¤»¤ë¡£°ìÊý¡¢
+は、interact を呼出元に復帰させる。一方、
 .B inter_return
-¤Ï¡¢
+は、
 .B interact
-¤ò¤½¤Î¸Æ¤Ó¤À¤·¸µÆâ¤ËÉüµ¢¤µ¤»¤ë¡£Î㤨¤Ð¡¢"proc foo" ¤Ï
+をその呼びだし元内に復帰させる。例えば、"proc foo" は
 .B interact
-¤ò¸Æ¤Ö¡£interact ¤¬¡¢¤µ¤é¤Ë¡¢
+を呼ぶ。interact が、さらに、
 .BR inter_return
-¤ò¼Â¹Ô¤¹¤ë¤È
+を実行すると
 .B proc foo
-¤¬Éüµ¢¤¹¤ë¡£(¤³¤ì¤Ï¡¢
+が復帰する。(これは、
 .B interact
-¤¬¡¢
+が、
 .B interpreter
-¤ò¸Æ¤ó¤Ç
+を呼んで
 .B return
-¤È¥¿¥¤¥×¤¹¤ë¤È¡¢¤½¤Îinteract¤Ï·Ñ³¤¹¤ë¤¬¡¢
+とタイプすると、そのinteractは継続するが、
 .B inter_return
-¤¹¤ë¤È¡¢¤½¤Î¸Æ½Ð¸µ¤ËÉüµ¢¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£)
+すると、その呼出元に復帰してしまうということである。)
 .IP
 .\"O During
 .\"O .BR interact ,
@@ -2207,23 +2207,23 @@ glob 
 .\"O .B Expect
 .\"O itself, first call interpreter (perhaps by using an escape character), and then press ^Z.
 .BR interact
-¤Î´Ö raw ¥â¡¼¥É¤¬»ÈÍѤµ¤ì¤ë¤Î¤Ç¡¢Á´¤Æ¤Îʸ»ú¤¬¸½¥×¥í¥»¥¹¤ËÅϤµ¤ì¤ë¡£
-¸½¥×¥í¥»¥¹¤¬¥¸¥ç¥Ö¥³¥ó¥È¥í¡¼¥ë¥·¥°¥Ê¥ë¤òÊá¤Þ¤¨¤Ê¤±¤ì¤Ð¡¢
-¥¹¥È¥Ã¥×¥·¥°¥Ê¥ë(¥Ç¥Õ¥©¥ë¥È^Z)¤ÇÄä»ß¤¹¤ë¡£ºÆ¥¹¥¿¡¼¥È¤¹¤ë¤Ë¤Ï¡¢
-À©¸æ¥·¥°¥Ê¥ë¤òÁ÷¤ë¡£("kill \-CONT <pid>"¤È¤«ÂǤäÆ)¡£
-ËÜÅö¤Ë SIGSTOP ¤ò¥×¥í¥»¥¹¤ËÁ÷¤ê¤¿¤¤¤Ê¤é¡¢csh ¤ò spawn ¤·¤Æ¤½¤Î¾å¤Ç
-¥×¥í¥»¥¹¤òµ¯Æ°¤¹¤ë¤³¤È¡£
-¤½¤¦¤Ç¤Ê¤¯¤Æ¡¢
+の間 raw モードが使用されるので、全ての文字が現プロセスに渡される。
+現プロセスがジョブコントロールシグナルを捕まえなければ、
+ストップシグナル(デフォルト^Z)で停止する。再スタートするには、
+制御シグナルを送る。("kill \-CONT <pid>"とか打って)。
+本当に SIGSTOP をプロセスに送りたいなら、csh を spawn してその上で
+プロセスを起動すること。
+そうでなくて、
 .B Expect
-¤½¤Î¤â¤Î¤Ë SIGSTOP ¤òÁ÷¤ê¤¿¤¤¤Ê¤é¡¢¥¤¥ó¥¿¥×¥ê¥¿¤ò¸Æ¤Ó½Ð¤·¤Æ
-(ÉáÄ̤ϥ¨¥¹¥±¡¼¥×ʸ»ú)¡¢¤½¤Î¸å ^Z ¤òÂǤĤ³¤È¡£
+そのものに SIGSTOP を送りたいなら、インタプリタを呼び出して
+(普通はエスケープ文字)、その後 ^Z を打つこと。
 .IP
 .\"O String-body pairs can be used as a shorthand for avoiding having
 .\"O to enter the interpreter and execute commands interactively.  The previous
 .\"O terminal mode is used while the body of a string-body pair is being executed.
-string body¤Î¥Ú¥¢¤Ï¡¢¥¤¥ó¥¿¥×¥ê¥¿¤ËÆþ¤Ã¤Æ¥³¥Þ¥ó¥É¤òÂÐÏÃŪ¤Ë¼Â¹Ô¤¹¤ë¤Î¤ò
-Èò¤±¤ë¤³¤È¤ò´Êñ¤Ë½ñ¤¯¤Î¤Ë»È¤ï¤ì¤ë¡£
-Á°¤ÎüËö¥â¡¼¥É¤¬¡¢¤½¤Î body ¤ò¼Â¹Ô¤¹¤ë´Ö»ÈÍѤµ¤ì¤ë¡£
+string bodyのペアは、インタプリタに入ってコマンドを対話的に実行するのを
+避けることを簡単に書くのに使われる。
+前の端末モードが、その body を実行する間使用される。
 .IP
 .\"O For speed, actions execute in raw mode by default.  The
 .\"O .B \-reset
@@ -2236,18 +2236,18 @@ string body
 .\"O .B \-reset
 .\"O is if your action
 .\"O depends on running in cooked mode.
-¼Â¹Ô®ÅÙ¤ò¾å¤²¤ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥¢¥¯¥·¥ç¥ó¤¬ raw ¥â¡¼¥É¤ÇÆ°¤¯¤è¤¦¤Ë
-¤¹¤ë¡£
+実行速度を上げるには、デフォルトでアクションが raw モードで動くように
+する。
 .B \-reset
-¥Õ¥é¥°¤Ï¡¢Ã¼Ëö¤Î»ý¤Ã¤Æ¤¤¤ë¥â¡¼¥É¤ò¥ê¥»¥Ã¥È¤¹¤ë¡£¤½¤¦¤·¤Ê¤±¤ì¤Ð¡¢
-¤½¤ÎÁ°¤Ë¹Ô¤Ê¤Ã¤¿
+フラグは、端末の持っているモードをリセットする。そうしなければ、
+その前に行なった
 .B interact
-¥³¥Þ¥ó¥É¤ÎüËö¥â¡¼¥É(cooked ¥â¡¼¥É¤È¤«)¤¬ÊÝ»ý¤µ¤ì¤ë¡£
-¥â¡¼¥É¤¬ÀÚ¤êÂؤï¤Ã¤¿»þ¤Ë¡¢¤½¤ì¤Þ¤ÇÂǤäƤ¤¤¿Ê¸»ú¤¬¾Ã¤¨¤Æ¤·¤Þ¤¦¤³¤È¤¬
-¤¢¤ë¤Î¤ÇÃí°Õ¤¹¤ë¤³¤È¡£(¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢¤½¤¦¤¤¤¦ÉÔ¹¬¤Ê»ÅÍͤò¤·¤¿
-üËö¥É¥é¥¤¥Ð¤¬Æ°¤¤¤Æ¤¤¤ë¡£)
+コマンドの端末モード(cooked モードとか)が保持される。
+モードが切り替わった時に、それまで打っていた文字が消えてしまうことが
+あるので注意すること。(システムによっては、そういう不幸な仕様をした
+端末ドライバが動いている。)
 .B \-reset
-¤ò»È¤¦¤Î¤Ï¡¢¥¢¥¯¥·¥ç¥ó¤¬ cooked ¥â¡¼¥É¤Ç¤·¤«Æ°¤«¤Ê¤¤¾ì¹ç¤À¤±¤Ç¤¢¤ë¡£
+を使うのは、アクションが cooked モードでしか動かない場合だけである。
 .IP
 .\"O The
 .\"O .B \-echo
@@ -2255,8 +2255,8 @@ string body
 .\"O that generated them as each character is read.  This may be useful
 .\"O when the user needs to see feedback from partially typed patterns.
 .B \-echo
-¥Õ¥é¥°¤Ï¡¢°ìʸ»ú¤Å¤Ä¥Ñ¥¿¡¼¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ëʸ»ú¤òÊÖ¤¹¡£¤³¤ì¤Ï¡¢
-¥æ¡¼¥¶¡¼¤¬ÂǤÄʸ»ú¤ËÉôʬŪ¤Ë¥Þ¥Ã¥Á¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¾ì¹ç¤ËÍ­¸ú¤Ç¤¢¤ë¡£
+フラグは、一文字づつパターンにマッチする文字を返す。これは、
+ユーザーが打つ文字に部分的にマッチしなければならない場合に有効である。
 .IP
 .\"O If a pattern is being echoed but eventually fails to match,
 .\"O the characters are sent to the spawned process.  If the spawned
@@ -2270,15 +2270,15 @@ string body
 .\"O commands, that the user is unlikely to type ~ followed by anything
 .\"O else, except mistakenly, in which case, they'll probably just ignore
 .\"O the result anyway.
-¥Ñ¥¿¡¼¥ó¤Ï¥¨¥³¡¼¤µ¤ì¤¿¤¬¥Þ¥Ã¥Á¤Ë¤Ï¼ºÇÔ¤·¤¿¾ì¹ç¡¢Ê¸»úÎó¤Ï¡¢spawn ¤µ¤ì¤¿
-¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤ë¡£¤½¤ì¤«¤é¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤¬Ê¸»úÎó¤òɽ¼¨¤·¡¢
-¥æ¡¼¥¶¡¼¤Ïʸ»úÎó¤òÆóÅÙ¸«¤ë¡£
+パターンはエコーされたがマッチには失敗した場合、文字列は、spawn された
+プロセスに送られる。それから、spawn されたプロセスが文字列を表示し、
+ユーザーは文字列を二度見る。
 .B \-echo
-¤Ï¡¢¥æ¡¼¥¶¡¼¤¬¥Ñ¥¿¡¼¥ó¤ò´°À®¤µ¤»¤Æ¤¯¤ì¤½¤¦¤â¤Ê¤¤¾ì¹ç¤Ë¤À¤±Í­¸ú¤Ç¤¢¤í¤¦¡£
-Î㤨¤Ð¡¢°Ê²¼¤Ï rftp(¥ê¥«¡¼¥·¥Ö ftp ¥¹¥¯¥ê¥×¥È)¤«¤é¤ÎÈ´¿è¤À¤¬¡¢¥æ¡¼¥¶¡¼¤¬
-~g, ~p, ~l ¤òÂǤĤȥ«¥ì¥ó¥È¥Ç¥£¥ì¥¯¥È¥ê¤«¤éºÆµ¢Åª(¥ê¥«¡¼¥·¥Ö)¤Ë get,
-put, list ¤¹¤ë¡£Ä̾ï¤Î ftp ¤Ç¤Ï¤³¤ì¤é¤ÎÁàºî¤¬¤Ç¤­¤Ê¤¤¡£´Ö°ã¤Ã¤Æ ~ ¤ò
-ÂǤĤ«¡¢~ ¤Î¸å¤ò´Ö°ã¤¨¤¿¾ì¹ç¡¢¤½¤Îʸ»úÎó¤ò̵»ë¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
+は、ユーザーがパターンを完成させてくれそうもない場合にだけ有効であろう。
+例えば、以下は rftp(リカーシブ ftp スクリプト)からの抜粋だが、ユーザーが
+~g, ~p, ~l を打つとカレントディレクトリから再帰的(リカーシブ)に get,
+put, list する。通常の ftp ではこれらの操作ができない。間違って ~ を
+打つか、~ の後を間違えた場合、その文字列を無視するようになっている。
 .nf
 
     interact {
@@ -2308,11 +2308,11 @@ put, list 
 .\"O 
 .\"O .fi
 .B \-nobuffer
-¥Õ¥é¥°¤Ï¡¢Ê¸»ú¤¬Æɤޤì¤ëÅ٤ˡ¢¤½¤Îʸ»ú¤ò¥Þ¥Ã¥Á¤ØÁ÷¤ë¡£
+フラグは、文字が読まれる度に、その文字をマッチへ送る。
 
-¤³¤Î¥Õ¥é¥°¤Ï¡¢¥Ñ¥¿¡¼¥ó¤ò¥¨¥³¡¼¥Ð¥Ã¥¯¤¹¤ë»þ¤ËÍ­¸ú¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢°Ê²¼¤Ï狼¤¬(¥Ø¥¤¥º¥â¥Ç¥à¤ò)¥À¥¤¥¢¥ë¤¹¤ë¤Î¤ò´Æ»ë¤¹¤ë¤Î¤Ë
-»È¤ï¤ì¤ë¡£"atd"¤¬¸«¤¨¤ëÅ٤˥¹¥¯¥ê¥×¥È¤¬»Ä¤ê¤Î¥é¥¤¥ó¤ò¥í¥°¤¹¤ë¡£
+このフラグは、パターンをエコーバックする時に有効である。
+例えば、以下は誰かが(ヘイズモデムを)ダイアルするのを監視するのに
+使われる。"atd"が見える度にスクリプトが残りのラインをログする。
 .nf
 
     proc lognumber {} {
@@ -2333,13 +2333,13 @@ put, list 
 .\"O will force its output to be logged (sent to the standard output)
 .\"O since it is presumed the user doesn't wish to interact blindly.
 .BR interact
-¤Î´Ö¡¢Á°¤Ë»È¤Ã¤¿
+の間、前に使った
 .B log_user
-¤Ï̵»ë¤µ¤ì¤ë¡£Æäˡ¢
+は無視される。特に、
 .B interact
-¤Ï¡¢¤½¤Î½ÐÎϤòµ­Ï¿¤µ¤ì¤ë(ɸ½à½ÐÎϤËÁ÷¤é¤ì¤ë)¡£
-¤È¤¤¤¦¤Î¤Ï¡¢¥æ¡¼¥¶¡¼¤Ï¥¨¥³¡¼¥Ð¥Ã¥¯¤Î¤Ê¤¤¾õÂ֤ǥ­¡¼¤òÂǤÁ¤¿¤¯¤Ï¤Ê¤¤
-¤À¤í¤¦¤È¹Í¤¨¤ë¤«¤é¤Ç¤¢¤ë¡£
+は、その出力を記録される(標準出力に送られる)。
+というのは、ユーザーはエコーバックのない状態でキーを打ちたくはない
+だろうと考えるからである。
 .IP
 .\"O The
 .\"O .B \-o
@@ -2348,9 +2348,9 @@ put, list 
 .\"O This can be useful, for example, when dealing with hosts that
 .\"O send unwanted characters during a telnet session.  
 .B \-o
-¥Õ¥é¥°¤Ï¡¢¸½¥×¥í¥»¥¹¤Î½ÐÎϤˠkey body ¥Ú¥¢¤Î key ¤ò·ë¤Ó¤Ä¤±¤ë¡£
-¤³¤ó¤Ê¾ì¹ç¤ËÊØÍø¤Ç¤¢¤ë¡£Î㤨¤Ð¡¢telnet ¥»¥Ã¥·¥ç¥óÃæ¤Ë˾¤Þ¤Ê¤¤Ê¸»ú¤ò
-Á÷¤Ã¤Æ¤¯¤ë¥Û¥¹¥È¤ò°·¤¦¾ì¹ç¤Ç¤¢¤ë¡£
+フラグは、現プロセスの出力に key body ペアの key を結びつける。
+こんな場合に便利である。例えば、telnet セッション中に望まない文字を
+送ってくるホストを扱う場合である。
 .IP
 .\"O By default, 
 .\"O .B interact
@@ -2364,16 +2364,16 @@ put, list 
 .\"O .B interact
 .\"O look for the user as the process named by its argument
 .\"O (which must be a spawned id).  
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .B interact
-¤Ï¡¢¥æ¡¼¥¶¡¼¤¬
+は、ユーザーが
 .B Expect
-¥×¥í¥»¥¹¼«¿È¤Îɸ½àÆþÎϤ˽ñ¤­¹þ¤ß¡¢É¸½à½ÐÎϤò¸«¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤ë¡£
+プロセス自身の標準入力に書き込み、標準出力を見ていると思っている。
 .B \-u
-¥Õ¥é¥°("user"¤Îu)¤Ï
+フラグ("user"のu)は
 .B interact
-¤Ë¡¢°ú¿ô¤ÇÉÕ¤±¤é¤ì¤¿Ì¾Á°(spawned id ¤Ç¤¢¤ë)¤Î¥×¥í¥»¥¹¤ò¥æ¡¼¥¶¡¼¤È¤·¤Æ
-°·¤¦¡£
+に、引数で付けられた名前(spawned id である)のプロセスをユーザーとして
+扱う。
 .IP
 .\"O This allows two unrelated processes to be joined
 .\"O together without using an explicit loop.  To aid in debugging, Expect
@@ -2381,22 +2381,22 @@ put, list 
 .\"O debugging information).  For the same reason, the
 .\"O .B interpreter
 .\"O command will read interactively from stdin.
-¤³¤ì¤Ë¤è¤ê¡¢ÊѤʥ롼¥×¤Ê¤·¤Ë2¤Ä¤Î̵´Ø·¸¤Ê¥×¥í¥»¥¹¤ò·ë¹ç¤µ¤»¤ë¤³¤È¤¬
-¤Ç¤­¤ë¡£¥Ç¥Ð¥Ã¥°¤¹¤ë»þ¤Î½õ¤±¤È¤·¤Æ¡¢Expect ¤Ï¾ï¤Ë¿ÇÃÇ·ë²Ì¤ò stderr
-¤ØÁ÷¤ë¡£(¤¢¤ë¼ï¤Î¥í¥°¤È¥Ç¥Ð¥Ã¥°¾ðÊó¤Ï stdout ¤ËÁ÷¤é¤ì¤ë)¡£
-Ʊ¤¸Íýͳ¤Ç¡¢
+これにより、変なループなしに2つの無関係なプロセスを結合させることが
+できる。デバッグする時の助けとして、Expect は常に診断結果を stderr
+へ送る。(ある種のログとデバッグ情報は stdout に送られる)。
+同じ理由で、
 .B interpreter
-¥³¥Þ¥ó¥É¤Ï¡¢stdin ¤«¤é¥Ç¡¼¥¿¤òÆɤࡣ
+コマンドは、stdin からデータを読む。
 .IP
 .\"O For example, the following fragment creates a login process.
 .\"O Then it dials the user (not shown), and finally connects the two together.
 .\"O Of course, any process may be substituted for login.
 .\"O A shell, for example, would allow the user to work without supplying an
 .\"O account and password.
-Î㤨¤Ð¡¢°Ê²¼¤ÎÃÇÊÒ¤Ï¥í¥°¥¤¥ó¥×¥í¥»¥¹¤òºî¤ë¡£¤½¤·¤Æ¡¢(ɽ¼¨¤µ¤ì¤Ê¤¤)
-¥æ¡¼¥¶¡¼¤Ë¥À¥¤¥¢¥ë¤·¡¢Î¾Êý¤ÎÀܳ¤ò¹Ô¤Ê¤¦¡£
-¤â¤Á¤í¤ó¡¢login¤ò¤É¤ó¤Ê¥×¥í¥»¥¹¤ËÊѤ¨¤Æ¤âÎɤ¤¡£Î㤨¤Ð¡¢¥·¥§¥ë¤Ê¤é¡¢¥¢
-¥«¥¦¥ó¥È¤È¥Ñ¥¹¥ï¡¼¥É¤òÍ¿¤¨¤Ê¤¯¤Æ¤â¥æ¡¼¥¶¡¼¤¬µ¯Æ°¤Ç¤­¤ë¡£
+例えば、以下の断片はログインプロセスを作る。そして、(表示されない)
+ユーザーにダイアルし、両方の接続を行なう。
+ã\82\82ã\81¡ã\82\8dã\82\93ã\80\81loginã\82\92ã\81©ã\82\93ã\81ªã\83\97ã\83­ã\82»ã\82¹ã\81«å¤\89ã\81\88ã\81¦ã\82\82è\89¯ã\81\84ã\80\82ä¾\8bã\81\88ã\81°ã\80\81ã\82·ã\82§ã\83«ã\81ªã\82\89ã\80\81ã\82¢
+カウントとパスワードを与えなくてもユーザーが起動できる。
 .nf
 
     spawn login
@@ -2458,74 +2458,74 @@ put, list 
 .\"O .B \-output
 .\"O flags are used.  A \-i flag implies a \-o flag.
 .\"O 
-Ê£¿ô¤Î¥×¥í¥»¥¹¤Ø¤Î½ÐÎϤò¹Ô¤Ê¤¦¤¿¤á¡¢
+複数のプロセスへの出力を行なうため、
 .B \-output
-¥Õ¥é¥°¤òÁ°¤Ë¤Ä¤±¤¿³Æ spawn id ¤Î¥»¥Ã¥È¤¬¥ê¥¹¥È¤µ¤ì¤ë¡£
-½ÐÎÏ spawn id ¤ÎÁȤؤÎÆþÎϤϡ¢
+フラグを前につけた各 spawn id のセットがリストされる。
+出力 spawn id の組への入力は、
 .B \-input
-¥Õ¥é¥°¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤ë¡£
+フラグによって決定される。
 (
 .B \-input
-¤È
+と
 .B \-output
-¥Õ¥é¥°¤ÏξÊý¤È¤â
+フラグは両方とも
 .B expect
-¥³¥Þ¥ó¥É¤Î
+コマンドの
 .B \-i
-¥Õ¥é¥°¤ÈƱ¤¸½ñ¼°¤Ç¤¢¤ë¡£(
+フラグと同じ書式である。(
 .BR interact
-Æâ¤Î any_spawn_id ¤Ï°ÕÌ£¤¬¤Ê¤¤ÅÀ¤ò½ü¤¯¡£)
-°Ê²¼¤Î¥Õ¥é¥°¤Èʸ»úÎó(¤¢¤ë¤¤¤Ï¥Ñ¥¿¡¼¥ó)¤ÏÁ´¤Æ¡¢Ê̤Π-input ¥Õ¥é¥°¤¬¸½¤ì¤ë¤Þ¤Ç
-¤³¤ÎÆþÎϤòŬÍѤ¹¤ë¡£
+内の any_spawn_id は意味がない点を除く。)
+以下のフラグと文字列(あるいはパターン)は全て、別の -input フラグが現れるまで
+この入力を適用する。
 .B \-input
-¤¬¸½¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
+が現れなかった場合、
 .B \-output
-¤Ï "\-input $user_spawn_id \-output"
-¤ò¹Ô¤Ê¤¦¡£
+ "\-input $user_spawn_id \-output"
+を行なう。
 (
 .BR \-input
-¤ò»ý¤¿¤Ê¤¤¥Ñ¥¿¡¼¥ó¤âƱÍͤǤ¢¤ë¡£)
+を持たないパターンも同様である。)
 .B \-input
-¤¬°ì¤Ä¤À¤±»Ø¼¨¤µ¤ì¤ë¤È¡¢$user_spawn_id ¤Ï¤½¤ÎÃͤÇÃÖ¤­´¹¤ï¤ë¡£
-Æó¤Ä¤á¤Î
+が一つだけ指示されると、$user_spawn_id はその値で置き換わる。
+二つめの
 .B \-input
-¤¬»Ø¼¨¤µ¤ì¤ë¤È¡¢$spawn_id ¤¬ÃÖ¤­´¹¤ï¤ë¡£
-°Ê¹ß¤Î
+が指示されると、$spawn_id が置き換わる。
+以降の
 .B \-input
-¥Õ¥é¥°¤â»ØÄê¤Ç¤­¤ë¡£
+フラグも指定できる。
 
-2¤Ä¤ÎÆþÎÏ¥×¥í¥»¥¹¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç $spawn_id ¤È $user_spawn_id ¤Ë½ÐÎϤµ¤ì¤ë¡£
-¤â¤·¡¢
+2つの入力プロセスはデフォルトで $spawn_id と $user_spawn_id に出力される。
+もし、
 .B \-input
-¥Õ¥é¥°¤¬
+フラグが
 .B \-output
-¥Õ¥é¥°¤Ê¤·¤Ç»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥×¥í¥»¥¹¤«¤é¤Îʸ»ú¤Ï¼Î¤Æ¤é¤ì¤ë¡£
+フラグなしで指定された場合、プロセスからの文字は捨てられる。
 
 .B \-i
-¥Õ¥é¥°¤Ï¡¢¸½ºß¤Î spawn_id ¤ò½ñ¤­´¹¤¨¤ë¡£
-¤¿¤À¤·¡¢
+フラグは、現在の spawn_id を書き換える。
+ただし、
 .B \-input
-¤Þ¤¿¤Ï
+または
 .B \-output
-¥Õ¥é¥°¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¢¤ë¡£\-i ¥Õ¥é¥°¤Ï \-o ¥Õ¥é¥°¤ò´Þ¤à¡£
+フラグが使われていない場合である。\-i フラグは \-o フラグを含む。
 
 .\"O It is possible to change the processes that are being interacted with
 .\"O by using indirect spawn ids.  (Indirect spawn ids are described in the
 .\"O section on the expect command.)  Indirect spawn ids may be specified
 .\"O with the -i, -u, -input, or -output flags.
-´ÖÀÜ spawn id ¤ò»È¤Ã¤Æ²ñÏ䷤Ƥ¤¤ë¥×¥í¥»¥¹¤òÀÚÂؤ¨¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¡£
-(´ÖÀÜ spawn id ¤Ï¡¢expect ¥³¥Þ¥ó¥É¤Î¹à¤ÇÀâÌÀ¤·¤¿)
-´ÖÀÜ spawn id ¤Ï¡¢-i, -u, -input, -output ¥Õ¥é¥°¤Ç»ØÄê¤Ç¤­¤ë¡£
+間接 spawn id を使って会話しているプロセスを切替えることが可能である。
+(間接 spawn id は、expect コマンドの項で説明した)
+間接 spawn id は、-i, -u, -input, -output フラグで指定できる。
 .TP
 .B interpreter " [args]"
 .\"O causes the user to be interactively prompted for
 .\"O .B Expect
 .\"O and Tcl commands.
 .\"O The result of each command is printed.
-¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë
+は、ユーザーに
 .B Expect
-¤È Tcl ¥³¥Þ¥ó¥É¤Î¤¿¤á¤Î¥×¥í¥ó¥×¥È¤òɽ¼¨¤¹¤ë¡£
-³Æ¥³¥Þ¥ó¥É¤Î·ë²Ì¤¬É½¼¨¤µ¤ì¤ë¡£
+と Tcl コマンドのためのプロンプトを表示する。
+各コマンドの結果が表示される。
 .IP
 .\"O Actions such as
 .\"O .B break
@@ -2551,29 +2551,29 @@ put, list 
 .\"O .B interpreter
 .\"O to continue prompting for new commands.
 .B break
-¤ä
+や
 .B continue
-¤ÏÀ©¸æ¹½Â¤(¤¹¤Ê¤ï¤Á¡¢
+は制御構造(すなわち、
 .BR for
 .BR proc
-)¤Ç¡¢Ä̾ïÄ̤ê¤ËÆ°¤¯¡£
-¤·¤«¤·¡¢
+)で、通常通りに動く。
+しかし、
 .B return
-¤Ï¡¢¸Æ½Ð¸µ¤Ø¤ÎÉüµ¢¤ò¹Ô¤Ê¤¦¤Î¤ËÂФ·¡¢
+は、呼出元への復帰を行なうのに対し、
 .B inter_return
-¤Ï
+は
 .B interpreter
-¤ò¡¢¸Æ½Ð¸µ¤òÉüµ¢¤µ¤»¤ë¡£¤¿¤È¤¨¤Ð¡¢
-"proc foo" ¤Ï¡¢
+を、呼出元を復帰させる。たとえば、
+"proc foo" は、
 .B interpreter
-¤ò¸Æ¤Ó¡¢
+を呼び、
 .BR inter_return
-¤ò¼Â¹Ô¤·
+を実行し
 .B proc foo
-¤¬Éüµ¢¤¹¤ë¡£
-¾¤Î¥³¥Þ¥ó¥É¤Ï
+が復帰する。
+他のコマンドは
 .B interpreter
-¤Ë¿·¤·¤¤¥³¥Þ¥ó¥É¤Î¤¿¤á¤Î¥×¥í¥ó¥×¥È¤òɽ¼¨¤·Â³¤±¤ë¡£
+に新しいコマンドのためのプロンプトを表示し続ける。
 .IP
 .\"O By default, the prompt contains two integers.
 .\"O The first integer describes the depth of
@@ -2583,32 +2583,32 @@ put, list 
 .\"O prompt.  If a statement has open quotes, parens, braces, or brackets, a
 .\"O secondary prompt (by default "+> ") is issued upon newline.  The secondary
 .\"O prompt may be set by defining a procedure called "prompt2".
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥×¥í¥ó¥×¥È¤Ï 2 ¤Ä¤ÎÀ°¿ô¤ò´Þ¤ó¤Ç¤¤¤ë¡£
-ºÇ½é¤Î¿ô¤Ïɾ²Á¥¹¥¿¥Ã¥¯¤Î¿¼¤µ(¤Ä¤Þ¤ê¡¢²¿²ó Tcl_Eval ¤¬¸Æ¤Ð¤ì¤¿¤«)
-2ÈÖ¤á¤Î¿ô¤Ï¡¢Tcl ¥Ò¥¹¥È¥ê¼±ÊÌÈÖ¹æ¤Ç¤¢¤ë¡£¥×¥í¥ó¥×¥È¤Ï
-"prompt1"¤È¸Æ¤Ð¤ì¤ë¥×¥í¥·¥¸¥ã¤òÄêµÁ¤¹¤ë¤³¤È¤ÇÀßÄê¤Ç¤­¤ë¡£
-¤³¤Î¥×¥í¥·¥¸¥ã¤Îµ¢¤êÃͤ¬¼¡¤Î¥×¥í¥ó¥×¥È¤È¤Ê¤ë¡£
-µ­½Ò¤Ë³«¤­¥¯¥ª¡¼¥È¡¢³ç¸Ì¡¢¥Ö¥ì¡¼¥¹¡¢¥Ö¥é¥±¥Ã¥È¤¬¤¢¤ë¤È¡¢¼¡¤Î¹Ô¤Ë¤Ï
-Âè 2 ¥×¥í¥ó¥×¥È¤¬¸½¤ì¤ë(¥Ç¥Õ¥©¥ë¥È¤Ï "+> ")¡£Âè 2 ¥×¥í¥ó¥×¥È¤Ï
-"prompt2"¤È¸Æ¤Ð¤ì¤ë¥×¥í¥·¥¸¥ã¤òÄêµÁ¤¹¤ë¤³¤È¤ÇÀßÄê¤Ç¤­¤ë¡£
+デフォルトでは、プロンプトは 2 つの整数を含んでいる。
+最初の数は評価スタックの深さ(つまり、何回 Tcl_Eval が呼ばれたか)
+2番めの数は、Tcl ヒストリ識別番号である。プロンプトは
+"prompt1"と呼ばれるプロシジャを定義することで設定できる。
+このプロシジャの帰り値が次のプロンプトとなる。
+記述に開きクオート、括弧、ブレース、ブラケットがあると、次の行には
+第 2 プロンプトが現れる(デフォルトは "+> ")。第 2 プロンプトは
+"prompt2"と呼ばれるプロシジャを定義することで設定できる。
 .IP
 .\"O During
 .\"O .BR interpreter ,
 .\"O cooked mode is used, even if the its caller was using raw mode.
 .BR interpreter
-¤Î´Ö¤Ï¡¢¸Æ½Ð¸µ¤¬ raw ¥â¡¼¥É¤Ç¤¢¤Ã¤¿¤È¤·¤Æ¤â¡¢cooked ¥â¡¼¥É¤¬»È¤ï¤ì¤ë¡£
+の間は、呼出元が raw モードであったとしても、cooked モードが使われる。
 .IP
 .\"O If stdin is closed,
 .\"O .B interpreter
 .\"O will return unless the
 .\"O .B \-eof
 .\"O flag is used, in which case the subsequent argument is invoked.
-stdin ¤¬ÊĤ¸¤é¤ì¤ë¤È¡¢
+stdin が閉じられると、
 .B interpreter
-¤Ï
+は
 .B \-eof
-¥Õ¥é¥°¤¬»È¤ï¤ì¤Æ¤¤¤Ê¤¤¸Â¤êÉüµ¢¤¹¤ë¡£
-»È¤ï¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï°ú¤­Â³¤¯°ú¿ô¤ò¼Â¹Ô¤¹¤ë¡£
+フラグが使われていない限り復帰する。
+使われている場合は引き続く引数を実行する。
 .TP
 .BI log_file " [args] [[\-a] file]"
 .\"O or
@@ -2640,60 +2640,60 @@ stdin 
 .\"O .B -info
 .\"O flag causes log_file to return a description of the
 .\"O most recent non-info arguments given.
-¥Õ¥¡¥¤¥ë̾¤¬Í¿¤¨¤é¤ì¤ë¤È¡¢
+ファイル名が与えられると、
 .B log_file
-¤Ï¡¢(¸½»þÅÀ¤«¤é¤Î)¥»¥Ã¥·¥ç¥ó¤Î¥í¥°¤ò¤½¤Î¥Õ¥¡¥¤¥ë¤ËºÎ¼è¤¹¤ë¡£
-°ú¿ô¤¬¤Ê¤±¤ì¤Ð¡¢
+は、(現時点からの)セッションのログをそのファイルに採取する。
+引数がなければ、
 .B log_file
-¤Ïµ­Ï¿¤ò¤ä¤á¤ë¡£»È¤Ã¤Æ¤¤¤¿¥í¥°¥Õ¥¡¥¤¥ë¤Ï¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
+は記録をやめる。使っていたログファイルはクローズされる。
 
-¥Õ¥¡¥¤¥ë̾¤ÎÂå¤ï¤ê¤Ë¡¢Tcl ¥Õ¥¡¥¤¥ë¼±Ê̻Ҥò»ØÄꤹ¤ë¤È¡¢
+ファイル名の代わりに、Tcl ファイル識別子を指定すると、
 .B \-open
-¤ä
+や
 .B \-leaveopen
-¥Õ¥é¥°¤¬»È¤¨¤ë¡£
+フラグが使える。
 .B spawn
-¥³¥Þ¥ó¥É¤ÈƱÍͤÀ(¤è¤ê¾Ü¤·¤¯¤Ï¡¢
+コマンドと同様だ(より詳しくは、
 .B spawn
-¤ò»²¾È)
+を参照)
 
 .B \-a
-¥Õ¥é¥°¤Ï¡¢
+フラグは、
 .B log_user
-¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤ÆÍ޻ߤµ¤ì¤¿¥í¥°¤Ë½ÐÎϤò¶¯À©¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£
+コマンドによって抑止されたログに出力を強制するものである。
 
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .B log_file
-¥³¥Þ¥ó¥É¤Ï¸Å¤¤µ­Ï¿¤ò¾Ã¤·¤Æ½ñ¤­Ä¾¤·¤¿¤ê¤»¤º¤Ë
-.I Äɵ­
-¤¹¤ë¡£
-¥í¥°¥ª¥Õ¤äÊ£¿ô¤Î¥í¥°¤ò½ñ¤¯»þ¤ËÅԹ礬Îɤ¤¤è¤¦¤Ë¡£
-¥Õ¥¡¥¤¥ë¤ò¾Ã¤·¤Æ½ñ¤­Ä¾¤¹»þ¤Ï
+コマンドは古い記録を消して書き直したりせずに
+.I 追記
+する。
+ログオフや複数のログを書く時に都合が良いように。
+ファイルを消して書き直す時は
 .B \-noappend
-¥Õ¥é¥°¤ò»È¤¦¡£
+フラグを使う。
 
 .B -info
-¥Õ¥é¥°¤Ï¡¢ºÇ¸å¤Ë¥í¥°¤·¤¿ÆâÍƤòÊÖ¤¹(ºÇ¸å¤¬-info¥Õ¥é¥°ÉÕ¤­¤À¤Ã¤¿¤é¡¢
-¤½¤ÎÁ°¤ÎÆâÍÆ)¡£
+フラグは、最後にログした内容を返す(最後が-infoフラグ付きだったら、
+その前の内容)。
 .TP
 .BI log_user " -info|0|1"
 .\"O By default, the send/expect dialogue is logged to stdout
 .\"O (and a logfile if open).
 .\"O The logging to stdout is disabled by the command "log_user 0"
 .\"O and reenabled by "log_user 1".  Logging to the logfile is unchanged.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢send/expect ¥À¥¤¥¢¥í¥°¤Ïɸ½à½ÐÎÏ¤Ë¥í¥®¥ó¥°¤µ¤ì¤ë¡£
-(³«¤¤¤Æ¤¤¤ì¤Ð¥í¥°¥Õ¥¡¥¤¥ë¤Ë¤â¥í¥®¥ó¥°¤µ¤ì¤ë¡£)
-"log_user 0"¤È¤¹¤ë¤È¡¢É¸½à½ÐÎÏ¤Ø¤Î¥í¥®¥ó¥°¤¬Í޻ߤµ¤ì¤ë¡£
-"log_user 1"¤È¤¹¤ë¤È¡¢Éüµì¤¹¤ë¡£¥í¥°¥Õ¥¡¥¤¥ë¤Ø¤Îµ­Ï¿¤Ë¤Ä¤¤¤Æ¤Ï
-Êѹ¹¤Ï¤Ê¤¤¡£
+デフォルトでは、send/expect ダイアログは標準出力にロギングされる。
+(開いていればログファイルにもロギングされる。)
+"log_user 0"とすると、標準出力へのロギングが抑止される。
+"log_user 1"とすると、復旧する。ログファイルへの記録については
+変更はない。
 
 .\"O The
 .\"O .B -info
 .\"O flag causes log_user to return a description of the
 .\"O most recent non-info arguments given.
 .B -info
-¥Õ¥é¥°¤Ï¡¢ºÇ¸å¤Ë¥í¥°¤·¤¿ÆâÍƤòÊÖ¤¹(ºÇ¸å¤¬ -info ¥Õ¥é¥°ÉÕ¤­¤À¤Ã¤¿¤é¡¢
-¤½¤ÎÁ°¤ÎÆâÍÆ)¡£
+フラグは、最後にログした内容を返す(最後が -info フラグ付きだったら、
+その前の内容)。
 .TP
 .BI match_max " [\-d] [\-i spawn_id] [size]"
 .\"O defines the size of the buffer (in bytes) used internally by
@@ -2701,12 +2701,12 @@ stdin 
 .\"O With no
 .\"O .I size
 .\"O argument, the current size is returned.
-¤Ï¡¢¥Ð¥Ã¥Õ¥¡¥µ¥¤¥º¤ò(¥Ð¥¤¥Èñ°Ì¤Ç)ÄêµÁ¤¹¤ë¡£¤³¤Î¥Ð¥Ã¥Õ¥¡¤Ï¡¢
+は、バッファサイズを(バイト単位で)定義する。このバッファは、
 .BR expect
-¤ÎÆâÉô¤Ç»È¤ï¤ì¤ë¡£
-°ú¿ô
+の内部で使われる。
+引数
 .I size
-¤¬¤Ê¤¤¤È¡¢¸½ºß¤Î¥µ¥¤¥º¤òÉüµ¢¤¹¤ë¡£
+がないと、現在のサイズを復帰する。
 .\"O .IP
 .\"O With the
 .\"O .B \-d
@@ -2717,11 +2717,11 @@ stdin 
 .\"O the current process.
 .IP
 .B \-d
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢¥Ç¥Õ¥©¥ë¥È¥µ¥¤¥º¤¬ÀßÄꤵ¤ì¤ë¡£(½é´ü¾õÂÖ¤Î
-¥Ç¥Õ¥©¥ë¥ÈÃͤϠ2000¡£)
+フラグを指示すると、デフォルトサイズが設定される。(初期状態の
+デフォルト値は 2000。)
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢Ì¾Á°¤Ä¤­ spawn id ¤ËÂФ·¤Æ¥µ¥¤¥º¤¬ÀßÄꤵ¤ì¤ë¡£
-»ØÄꤷ¤Ê¤±¤ì¤Ð¡¢¥«¥ì¥ó¥È¥×¥í¥»¥¹¤ËÂФ·¤ÆÀßÄꤵ¤ì¤ë¡£
+フラグを指示すると、名前つき spawn id に対してサイズが設定される。
+指定しなければ、カレントプロセスに対して設定される。
 .TP
 .BI overlay " [\-# spawn_id] [\-# spawn_id] [...] program [args]"
 .\"O executes
@@ -2733,21 +2733,21 @@ stdin 
 .\"O it was a login shell.
 .\"O All spawn_ids are closed except for those named as arguments.  These
 .\"O are mapped onto the named file identifiers.
-¤Ï¡¢
+は、
 .IR "program args"
-¤ò¸½ºß¤Î
+を現在の
 .B Expect
-¥×¥í¥°¥é¥à¾å¤Ç¼Â¹Ô¤¹¤ë¡£¸½ºß¤Î Expect ¥×¥í¥°¥é¥à¤Ï½ªÎ»¤¹¤ë¡£
-¤¿¤À¤Î¥Ï¥¤¥Õ¥ó¤¬°ú¿ô¤Ë»ØÄꤵ¤ì¤ë¤È¡¢¥³¥Þ¥ó¥É̾¤ÎÁ°¤Ë¥Ï¥¤¥Õ¥ó¤ò¤Ä¤±¤Æ
-¥í¥°¥¤¥ó¥·¥§¥ë¤È¤·¤Æ°·¤¦¡£
-Á´¤Æ¤Î¥¯¥í¡¼¥ºÃæ¤Î spawn_id ¤Ï¡¢°ú¿ô¤Ë»È¤ï¤ì¤¿Ê¸»úÎó¤òÂԤġ£
+プログラム上で実行する。現在の Expect プログラムは終了する。
+ただのハイフンが引数に指定されると、コマンド名の前にハイフンをつけて
+ログインシェルとして扱う。
+全てのクローズ中の spawn_id は、引数に使われた文字列を待つ。
 .IP
 .\"O Spawn_ids are mapped to file identifiers for the new program to inherit.
 .\"O For example, the following line runs chess and allows it to be
 .\"O controlled by the current process \- say, a chess master.
-Spawn_id ¤Ï¡¢¿·¤·¤¤¥×¥í¥°¥é¥à¤Ë·Ñ¾µ¤µ¤»¤ë¤¿¤á¤Î¥Õ¥¡¥¤¥ë ID ¤Ë
-¥Þ¥Ã¥×¤µ¤ì¤ë¡£Î㤨¤Ð¡¢°Ê²¼¤Î¹Ô¤Ï¥Á¥§¥¹¤ò¹Ô¤Ê¤¤¡¢chess master
-¤È¤¤¤¦¸½¥×¥í¥»¥¹¤ËÀ©¸æ¤µ¤»¤ë¡£
+Spawn_id は、新しいプログラムに継承させるためのファイル ID に
+マップされる。例えば、以下の行はチェスを行ない、chess master
+という現プロセスに制御させる。
 .nf
 
     overlay \-0 $spawn_id \-1 $spawn_id \-2 $spawn_id chess
@@ -2762,15 +2762,15 @@ Spawn_id 
 .\"O Note that no controlling terminal is provided.  Thus, if you
 .\"O disconnect or remap standard input, programs that do
 .\"O job control (shells, login, etc) will not function properly.
-¤³¤ì¤Ï¡¢
+これは、
 "interact \-u"
-¤È¤¹¤ë¤è¤ê¤â¸ú²ÌŪ¤Ç¤¢¤ë¡£¤·¤«¤·¡¢
+とするよりも効果的である。しかし、
 .B Expect
-¥×¥í¥»¥¹¤¬À©¸æ¤·¤Æ¤¤¤Ê¤¤¤Î¤Ç¥×¥í¥°¥é¥àǽÎϤ¬µ¾À·¤È¤Ê¤ë¡£
+プロセスが制御していないのでプログラム能力が犠牲となる。
 .IP
-À©¸æ¤µ¤ì¤Ê¤¤Ã¼Ëö¤¬¤Ç¤­¤Æ¤·¤Þ¤¦¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£¤½¤ì¤Ç¡¢
-disconnect ¤¹¤ë¤«É¸½àÆþÎϤò¥ê¥Þ¥Ã¥×¤¹¤ë¤È¥¸¥ç¥ÖÀ©¸æ¥×¥í¥°¥é¥à
-(¥·¥§¥ë¡¢¥í¥°¥¤¥ó¤Ê¤É)¤¬Àµ¤·¤¯µ¡Ç½¤·¤Ê¤¤¡£
+制御されない端末ができてしまうことに注意すること。それで、
+disconnect するか標準入力をリマップするとジョブ制御プログラム
+(シェル、ログインなど)が正しく機能しない。
 .TP
 .BI parity " [\-d] [\-i spawn_id] [value]"
 .\"O defines whether parity should be retained or stripped from the output of
@@ -2789,19 +2789,19 @@ disconnect 
 .\"O .B \-i
 .\"O flag, the parity value is set for the named spawn id, otherwise it is set for
 .\"O the current process.
-¤Ï¡¢spawn id¤Î½ÐÎϤ«¤é¥Ñ¥ê¥Æ¥£¤òÊÝ»ý¤¹¤ë¤«¼è¤ê½ü¤¯¤«¤òÀßÄꤹ¤ë¡£
+は、spawn idの出力からパリティを保持するか取り除くかを設定する。
 .I value
-¤¬ 0 ¤Ç¤¢¤ì¤Ð¡¢¥Ñ¥ê¥Æ¥£¤Ï¼è¤ê½ü¤«¤ì¤ë¡£
-¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¼è¤ê½ü¤«¤ì¤Ê¤¤¡£
+が 0 であれば、パリティは取り除かれる。
+それ以外の場合、取り除かれない。
 .I value
-¤¬»ØÄꤵ¤ì¤Ê¤¤¾ì¹ç¡¢¸½ºß¤ÎÃͤ¬Éüµ¢¤¹¤ë¡£
+が指定されない場合、現在の値が復帰する。
 .IP
 .B \-d
-¥Õ¥é¥°¤Ï¡¢¥Ñ¥ê¥Æ¥£¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄꤹ¤ë¡£(¥¤¥Ë¥·¥ã¥ë»þ¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤÏ
-1 ¤Ç¤¢¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥Ñ¥ê¥Æ¥£¤¬¼è¤ê½ü¤«¤ì¤ë¡£)
+フラグは、パリティのデフォルト値を設定する。(イニシャル時のデフォルト値は
+1 である。すなわち、パリティが取り除かれる。)
 .B \-i
-¥Õ¥é¥°¤ò»Ø¼¨¤¹¤ë¤È¡¢¥Ñ¥ê¥Æ¥£¤ÎÃͤ¬°ú¿ô¤Î̾Á°¤Ä¤­¤Î spawn id ¤ËÂФ·¤Æ
-ÀßÄꤵ¤ì¤ë¡£°ú¿ô¤¬¤Ê¤±¤ì¤Ð¸½ºß¤Î¥×¥í¥»¥¹¤ËÂФ·¤ÆÀßÄꤵ¤ì¤ë¡£
+フラグを指示すると、パリティの値が引数の名前つきの spawn id に対して
+設定される。引数がなければ現在のプロセスに対して設定される。
 .TP
 .BI remove_nulls " [\-d] [\-i spawn_id] [value]"
 .\"O .I value
@@ -2824,38 +2824,38 @@ disconnect 
 .\"O Whether or not nulls are removed,
 .\"O .B Expect
 .\"O will record null bytes to the log and stdout.
-¤Ï¡¢Á°¤Ë¥Ñ¥¿¡¼¥ó¥Þ¥Ã¥Á¤·¤¿¤¢¤ë¤¤¤Ï
+は、前にパターンマッチしたあるいは
 .I expect_out 
-¤«
+か
 .IR interact_out
-¤ËÊݸ¤µ¤ì¤Æ¤¤¤ë spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Î½ÐÎϤ«¤é¥Ì¥ë¤òÊÝ»ý¤¹¤ë¤«¼è¤ê½ü¤¯¤«¤ò
-ÀßÄꤹ¤ë¡£
+に保存されている spawn されたプロセスの出力からヌルを保持するか取り除くかを
+設定する。
 .I value
-¤¬ 1 ¤Ê¤é¡¢¥Ì¥ë¤Ï¼è¤ê½ü¤«¤ì¤ë¡£¤â¤·¡¢
+が 1 なら、ヌルは取り除かれる。もし、
 .I value
-¤¬ 0 ¤Ê¤é¡¢¥Ì¥ë¤Ï¼è¤ê½ü¤«¤ì¤ë¡£
+が 0 なら、ヌルは取り除かれる。
 .I value
-¤¬¤Ê¤±¤ì¤Ð¡¢¸½ºß¤ÎÃͤ¬Éüµ¢¤¹¤ë¡£
+がなければ、現在の値が復帰する。
 .IP
 .B \-d
-¥Õ¥é¥°¤Ï¡¢¥Ç¥Õ¥©¥ë¥ÈÃͤòÀßÄꤹ¤ë¡£(¥¤¥Ë¥·¥ã¥ë¤Î¥Ç¥Õ¥©¥ë¥ÈÃͤϡ¢
-1 ¤Ç¤¢¤ë¡£¤½¤ì¤æ¤¨¡¢¥Ì¥ë¤Ï¼è¤ê½ü¤«¤ì¤ë¡£)
+フラグは、デフォルト値を設定する。(イニシャルのデフォルト値は、
+1 である。それゆえ、ヌルは取り除かれる。)
 .B \-i
-¥Õ¥é¥°¤Ï¡¢Ì¾Á°¤Ä¤­¤Î spawn id ¤ËÂФ·¤ÆÃͤòÀßÄꤹ¤ë¡£¤Ê¤±¤ì¤Ð¡¢
-¸½¥×¥í¥»¥¹¤ËÂФ·¤ÆÀßÄꤹ¤ë¡£
+フラグは、名前つきの spawn id に対して値を設定する。なければ、
+現プロセスに対して設定する。
 
-¥Ì¥ë¤ò¼è¤ê½ü¤¯¤«¤É¤¦¤«¤Ë¤è¤é¤º¡¢
+ヌルを取り除くかどうかによらず、
 .B Expect
-¤Ï¡¢¥í¥°¤Èɸ½à½ÐÎϤˤϥ̥뤬µ­Ï¿¤µ¤ì¤ë¡£
+は、ログと標準出力にはヌルが記録される。
 .TP
 .BI send " [\-flags] string"
 .\"O Sends
 .\"O .IR string
 .\"O to the current process.
 .IR string
-¤ò¸½¥×¥í¥»¥¹¤ËÁ÷¤ë¡£
+を現プロセスに送る。
 .\"O For example, the command
-Î㤨¤Ð¡¢°Ê²¼¤Î¥³¥Þ¥ó¥É:
+例えば、以下のコマンド:
 .nf
 
     send "hello world\\r"
@@ -2866,11 +2866,11 @@ disconnect 
 .\"O (Tcl includes a printf-like command (called
 .\"O .BR format )
 .\"O which can build arbitrarily complex strings.)
-¤Ï¡¢Ê¸»ú h e l l o <blank> w o r l d <return>  ¤ò¸½ºß¤Î¥×¥í¥»¥¹¤Ë
-Á÷¤ë¡£
-(Tcl ¤Ï¡¢printf ¤Ë»÷¤¿¥³¥Þ¥ó¥É (
+は、文字 h e l l o <blank> w o r l d <return>  を現在のプロセスに
+送る。
+(Tcl は、printf に似たコマンド (
 .BR format
-¤È¸Æ¤Ð¤ì¤ë )¤ò»ý¤Ã¤Æ¤¤¤Æ¡¢Ê£»¨¤Êʸ»úÎó¤òÁȤßΩ¤Æ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£)
+と呼ばれる )を持っていて、複雑な文字列を組み立てることができる。)
 .IP
 .\"O Characters are sent immediately although programs with line-buffered input
 .\"O will not read the characters until a return character is sent.  A return
@@ -2940,65 +2940,65 @@ disconnect 
 .\"O The minimum and maximum are used last and "clip" the final time.
 .\"O The ultimate average can be quite different from the given average
 .\"O if the minimum and maximum clip enough values.
-ʸ»ú¤Ïľ¤Á¤ËÁ÷¤é¤ì¤ë¡£¤¿¤À¤·¡¢ÆþÎϤ˥饤¥ó¥Ð¥Ã¥Õ¥¡¤Î¤¢¤ë¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
-¥ê¥¿¡¼¥ó¥³¡¼¥É¤¬Á÷¤é¤ì¤ë¤Þ¤Çʸ»ú¤¬Æɤޤì¤Ê¤¤¡£¥ê¥¿¡¼¥ó¥³¡¼¥É¤Ï¡¢
-"\\r"¤Èɽµ­¤¹¤ë¡£
+文字は直ちに送られる。ただし、入力にラインバッファのあるプログラムでは、
+リターンコードが送られるまで文字が読まれない。リターンコードは、
+"\\r"と表記する。
 
 .B \-\-
-¥Õ¥é¥°¤Ï¡¢Â³¤¯°ú¿ô¤ò¥Õ¥é¥°¤È²ò¼á¤»¤ºÊ¸»úÎó¤È¤·¤Æ²ò¼á¤µ¤ì¤ë¡£
-Á´ÂΤȤ·¤Æ¥Õ¥é¥°¤Ë¸«¤¨¤Ê¤¯¤Æ¤â"\-\-"¤¬Á°¤Ë¤Ä¤¤¤¿Ê¸»úÎó¤Ï¥Õ¥é¥°¤È¤·¤Æ
-°·¤ï¤ì¤Æ¤·¤Þ¤¦¡£¤³¤Î¥Õ¥é¥°¤Ï½èÍý¤µ¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե饰¤È¤·¤Æ
-°·¤ï¤ì¤ë¤Î¤òËɤ°¡£
-("-"¤Ç»Ï¤Þ¤ëʸ»ú¤ÏÁ´¤Æ¾­Íè¤Î¥ª¥×¥·¥ç¥ó¤È¤·¤ÆͽÌ󤵤ì¤Æ¤¤¤ë¡£)
+フラグは、続く引数をフラグと解釈せず文字列として解釈される。
+全体としてフラグに見えなくても"\-\-"が前についた文字列はフラグとして
+扱われてしまう。このフラグは処理されていない文字列がフラグとして
+扱われるのを防ぐ。
+("-"で始まる文字は全て将来のオプションとして予約されている。)
 
 .B \-i
-¥Õ¥é¥°¤Ï¡¢Ì¾Á°¤Ä¤­¤Î spawn_id ¤Ëʸ»úÎó¤òÁ÷¤ë¤³¤È¤òÀë¸À¤¹¤ë¡£
-¤½¤Î spawn_id ¤¬
+フラグは、名前つきの spawn_id に文字列を送ることを宣言する。
+その spawn_id が
 .IR user_spawn_id
-¤Ç¤¢¤ì¤Ð¡¢Ã¼Ëö¤Ïraw ¥â¡¼¥É¤ËÆþ¤ê¡¢Ê¸»úÎóÃæ¤Î²þ¹Ô¤¬Éüµ¢²þ¹Ô¥·¡¼¥±¥ó¥¹¤Ë
-ÊÑ´¹¤µ¤ì¤ë¡£¤½¤ì¤Ç¡¢³°¤«¤é¤Ï Ã¼Ëö¤¬ cooked ¥â¡¼¥É¤È¤Ê¤Ã¤Æ¤¤¤ë¤è¤¦¤Ë
-¸«¤¨¤ë¡£
+であれば、端末はraw モードに入り、文字列中の改行が復帰改行シーケンスに
+変換される。それで、外からは 端末が cooked モードとなっているように
+見える。
 .B \-raw
-¥Õ¥é¥°¤Ï¡¢¤³¤ÎÊÑ´¹¤òÍ޻ߤ¹¤ë¡£
+フラグは、この変換を抑止する。
 
 .BR \-null
-¥Õ¥é¥°¤Ï¡¢¥Ì¥ëʸ»ú¤òÁ÷¤ë(0 ¥Ð¥¤¥È)¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢¥Ì¥ëʸ»ú¤ò
-1¤ÄÁ÷¤ë¡£
+フラグは、ヌル文字を送る(0 バイト)。デフォルトでは、ヌル文字を
+1つ送る。
 .BR \-null
-¤Ë³¤¯À°¿ô¤Ï¥Ì¥ëʸ»ú¤ò¤¤¤¯¤ÄÁ÷¤ë¤«¤ò»Ø¼¨¤¹¤ë¡£
+に続く整数はヌル文字をいくつ送るかを指示する。
 
 .B \-break
-¥Õ¥é¥°¤Ï¡¢¥Ö¥ì¡¼¥¯¾õÂÖ¤òºî¤ë¡£spawn id ¤¬"spawn -open"¤Ç»Ø¼¨¤·¤¿
-tty ¥Ç¥Ð¥¤¥¹¤ò»²¾È¤¹¤ë¾ì¹ç¤Î¤ß°ÕÌ£¤¬¤¢¤ë¡£tip ¤Ê¤É¤Î¥×¥í¥»¥¹¤ò
-spawn ¤¹¤ë¾ì¹ç¡¢tip ¤ÎÅÔ¹ç¤Ç ¥Ö¥ì¡¼¥¯¾õÂÖ¤òºî¤ë¤Ù¤­¤Ç¤¢¤ë¡£
+フラグは、ブレーク状態を作る。spawn id が"spawn -open"で指示した
+tty デバイスを参照する場合のみ意味がある。tip などのプロセスを
+spawn する場合、tip の都合で ブレーク状態を作るべきである。
 
 .B \-s
-¥Õ¥é¥°¤Ï¡¢½ÐÎϤò¶¯À©Åª¤Ë"ÃÙ¤¯"¤¹¤ë¡£·ë²Ì¡¢¥³¥ó¥Ô¥å¡¼¥¿¤¬ÂǤÁ¹þ¤ó¤Ç¤¤¤ë
-¥Ð¥Ã¥Õ¥¡¤Ë¿Í´Ö¤¬ÂǤÁ¹þ¤ó¤Ç¤·¤Þ¤¦¾õ¶·¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤Î½ÐÎϤÏ
-ÊÑ¿ô"send_slow"¤ÎÃͤÇÀ©¸æ¤µ¤ì¤ë¡£¤³¤ÎÊÑ¿ô¤ÏÆó¤Ä¤ÎÍ×ÁǤò»ý¤Ä¥ê¥¹¥È¤Ç¤¢¤ë¡£
-ºÇ½é¤ÎÍ×ÁǤϡ¢¥¢¥È¥ß¥Ã¥¯¤ËÁ÷¤ë¥Ð¥¤¥È¿ô¤Ç¤¢¤ë¡£2 ÈÖ¤á¤ÎÍ×ÁǤϥ¢¥È¥ß¥Ã¥¯¤ËÁ÷¤ë
-´Ö³Ö(ÉÃ)¤Ç¤¢¤ë¡£Î㤨¤Ð¡¢ "set send_slow {10 .001}" ¤Ï "send \-s" ¤Ë 
-10 Ê¸»úÁ÷¤ëËè¤Ë1¥ß¥êÉÃÂԤĤ褦¤Ë»Ø¼¨¤¹¤ë¡£
+フラグは、出力を強制的に"遅く"する。結果、コンピュータが打ち込んでいる
+バッファに人間が打ち込んでしまう状況を避けることができる。この出力は
+変数"send_slow"の値で制御される。この変数は二つの要素を持つリストである。
+最初の要素は、アトミックに送るバイト数である。2 番めの要素はアトミックに送る
+間隔(秒)である。例えば、 "set send_slow {10 .001}" は "send \-s" に 
+10 文字送る毎に1ミリ秒待つように指示する。
 
 .B \-h
-¥Õ¥é¥°¤Ï¡¢¿Í´Ö¤Î¼ÂºÝ¤ÎÆþÎϤ˻÷¤»¤Æ send ¤ò¹Ô¤Ê¤¦¡£(¥¢¥ë¥´¥ê¥º¥à¤Ï¡¢
-Weibull distribution ¤Ë´ð¤Å¤¤¤Æ¤¤¤Æ¡¢¤³¤ÎÆÃÄê¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó Expect? ¤Ë
-¹ç¤ï¤»¤ë¤¿¤á¤Î½¤Àµ¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤ë¡£)
-¤³¤Î½ÐÎϤÏÊÑ¿ô"send_human"¤ÎÃͤÇÀ©¸æ¤µ¤ì¤Æ¤¤¤Æ¡¢¤³¤ÎÊÑ¿ô¤Ï 5 ¤Ä¤ÎÍ×ÁǤ«¤é
-¤Ê¤ë¥ê¥¹¥È¤ÇºÇ½é¤Î 2 ¤Ä¤ÎÍ×ÁǤÏʸ»ú´Ö¤ÎÊ¿¶Ñ¥¤¥ó¥¿¡¼¥Ð¥ë»þ´Ö(ÉÃ)¤Ç¤¢¤ë¡£
-1 ¤Ä¤á¤¬¥Ç¥Õ¥©¥ë¥ÈÃͤǡ¢2 ¤Ä¤á¤¬(Ä̾ïȯÀ¸¤¹¤ëÈù̯¤ÊÂÔ¤Á»þ´Ö¤òɽ¸½¤¹¤ë)
-ñ¸ì¤Î½ª¤ê¤ÎÃͤǤ¢¤ë¡£3 ¤Ä¤á¤ÎÍ×ÁǤÏÊÑưΨ¤Ç¤¢¤ë¡£
-.1 ¤Ï¤è¤¯ÊÑÆ°¤¹¤ë¡£ 1 ¤ÏÂÅÅö¤ÊÊÑưΨ¤Ç¤¢¤ë¡£ 10 ¤À¤ÈÁ´Á³ÊѲ½¤·¤Ê¤¤¡£
-²Äǽ¤ÊÃͤϠ0 ¤«¤é Ìµ¸ÂÂç¤Ç¤¢¤ë¡£ºÇ¸å¤Î 2 ¤Ä¤Î¥Ñ¥é¥á¥¿¤Ï¡¢¤½¤ì¤¾¤ì¡¢
-¥¤¥ó¥¿¡¼¥Ð¥ë»þ´Ö¤ÎºÇ¾®ÃͤȺÇÂçÃͤǤ¢¤ë¡£¤³¤Î 2 ¤Ä¤ÎÃͤϺǸå¤Ë»È¤ï¤ì¤Æ¡¢
-ºÇ½ª»þ¹ï¤ò¥¯¥ê¥Ã¥×¤¹¤ë¡£¤³¤Î 2 Ãͤ¬°ã¤¦¤Èµæ¶Ë¤ÎÊ¿¶Ñ¤ÏÍ¿¤¨¤é¤ì¤¿Ê¿¶Ñ¤È¤Ï¡¢
-Á´¤¯°ã¤Ã¤¿¤â¤Î¤Ë¤Ê¤ë¡£
+フラグは、人間の実際の入力に似せて send を行なう。(アルゴリズムは、
+Weibull distribution に基づいていて、この特定のアプリケーション Expect? に
+合わせるための修正が行なわれている。)
+この出力は変数"send_human"の値で制御されていて、この変数は 5 つの要素から
+なるリストで最初の 2 つの要素は文字間の平均インターバル時間(秒)である。
+1 つめがデフォルト値で、2 つめが(通常発生する微妙な待ち時間を表現する)
+単語の終りの値である。3 つめの要素は変動率である。
+.1 はよく変動する。 1 は妥当な変動率である。 10 だと全然変化しない。
+可能な値は 0 から 無限大である。最後の 2 つのパラメタは、それぞれ、
+インターバル時間の最小値と最大値である。この 2 つの値は最後に使われて、
+最終時刻をクリップする。この 2 値が違うと究極の平均は与えられた平均とは、
+全く違ったものになる。
 
 .\"O As an
 .\"O example, the following command emulates a fast and
 .\"O consistent typist:
-Îã¤È¤·¤Æ¡¢Â³¤¯¥³¥Þ¥ó¥É¤¬°ìÄê¤Î®Å٤Ǯ¤¯ÂǤĥ¿¥¤¥Ô¥¹¥È¤ò
-¥¨¥ß¥å¥ì¡¼¥È¤¹¤ë:
+例として、続くコマンドが一定の速度で速く打つタイピストを
+エミュレートする:
 .nf
 
     set send_human {.1 .3 1 .05 2}
@@ -3006,7 +3006,7 @@ Weibull distribution 
 
 .fi
 .\"O while the following might be more suitable after a hangover:
-¥Ï¥ó¥°¤µ¤»¤Æ¤·¤Þ¤Ã¤¿¸å¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤¿Êý¤¬Îɤ¤¤À¤í¤¦¡£:
+ハングさせてしまった後は、以下のようにした方が良いだろう。:
 .nf
 
     set send_human {.4 .4 .2 .5 100}
@@ -3039,40 +3039,40 @@ Weibull distribution 
 .\"O you can precede
 .\"O .B send
 .\"O by a delay as in:
-send ¤Ë¥¨¥é¡¼¤ä½¤Àµ¤òËä¤á¹þ¤ó¤Ç¤¢¤Ã¤Æ¤â¡¢
-¥¨¥é¡¼¤Ï¥·¥ß¥å¥ì¡¼¥È¤µ¤ì¤Ê¤¤ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+send にエラーや修正を埋め込んであっても、
+エラーはシミュレートされない点に注意すること。
 
-¥Ö¥ì¡¼¥¯¤òÁ÷¤ë¤¿¤á¤ä¡¢¤æ¤Ã¤¯¤ê¤·¤¿½ÐÎϤò¹Ô¤Ê¤Ã¤¿¤ê¡¢¿Í´Ö¤¬½ÐÎϤ·¤¿¤è¤¦¤Ë
-¸«¤»¤«¤±¤ë¤¿¤á¤Ë¥Ì¥ëʸ»ú¤òÁ÷¤ë¥Õ¥é¥°¤ÏÁê¸ßÇÓ¾¤µ¤ì¤ë¡£
-ºÇ¸å¤Ë»ØÄꤵ¤ì¤¿¤â¤Î¤À¤±¤¬»È¤ï¤ì¤ë¡£¤½¤ì°Ê¾å¤Ï¡¢
+ブレークを送るためや、ゆっくりした出力を行なったり、人間が出力したように
+見せかけるためにヌル文字を送るフラグは相互排他される。
+最後に指定されたものだけが使われる。それ以上は、
 .I string
-¤Î°ú¿ô¤¬¡¢¥Ì¥ëʸ»ú¤¢¤ë¤¤¤Ï¥Ö¥ì¡¼¥¯¤òÁ÷¤ë¥Õ¥é¥°¤È¤·¤Æ»ØÄê¤Ç¤­¤ë¡£
+の引数が、ヌル文字あるいはブレークを送るフラグとして指定できる。
 
-ºÇ½é¤Î
+最初の
 .B send
-¤è¤êÁ°¤Ë
+より前に
 .B expect
-¤òÃÖ¤¤¤¿Êý¤¬Îɤ¤¡£
+を置いた方が良い。
 .B expect
-¤Ï¡¢¥×¥í¥»¥¹¤¬»Ï¤Þ¤ë¤Î¤òÂԤƤ뤬¡¢
+は、プロセスが始まるのを待てるが、
 .B send
-¤ÏÂԤƤʤ¤¡£
-Æäˡ¢ºÇ½é¤Î
+は待てない。
+特に、最初の
 .B send
-¤Ï¡¢¥×¥í¥»¥¹¤¬Áö¤ê»Ï¤á¤ëÁ°¤Ë´°Î»¤¹¤ë¡£¤¢¤Ê¤¿¤Î¥Ç¡¼¥¿¤¬Ìµ»ë¤µ¤ì¤ë
-´í¸±¤¬¤¢¤ë¡£
-ºÇ½é¤Ë¥×¥í¥ó¥×¥È¤òɽ¼¨¤·¤Ê¤¤¤è¤¦¤ÊÂÐÏÃŪ¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë
+は、プロセスが走り始める前に完了する。あなたのデータが無視される
+危険がある。
+最初にプロンプトを表示しないような対話的なプログラムでは、
+次のように
 .B send
-¤ÎÁ°¤Ë¥Ç¥£¥ì¥¤¤ò¤Ä¤±¤ë¤³¤È¤¬¤Ç¤­¤ë:
+の前にディレイをつけることができる:
 .nf
 
 .\"O     # To avoid giving hackers hints on how to break in,
 .\"O     # this system does not prompt for an external password.
 .\"O     # Wait for 5 seconds for exec to complete
-    # ¤É¤Î¤è¤¦¤ËÇˤ뤫¤Î¥Ò¥ó¥È¤ò¥Ï¥Ã¥«¡¼¤ËÍ¿¤¨¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë¡¢
-    # ¤³¤Î¥·¥¹¥Æ¥à¤Ç¤Ï³°Éô¤Î¥Ñ¥¹¥ï¡¼¥É¤ËÂФ¹¤ë¥×¥í¥ó¥×¥È¤òÄ󶡤·¤Ê¤¤¡£
-    # exec ¤¬´°Î»¤¹¤ë¤Î¤ò 5 ÉÃÂԤơ£
+    # どのように破るかのヒントをハッカーに与えてしまわないように、
+    # このシステムでは外部のパスワードに対するプロンプトを提供しない。
+    # exec が完了するのを 5 秒待て。
     spawn telnet very.secure.gov
     sleep 5
     send password\\r
@@ -3088,15 +3088,15 @@ send 
 .\"O is provided for compatibility between environments.
 .\"O Similar aliases are provided for other Expect's other send commands.
 .B exp_send
-¤Ï
+は
 .B send
-¤Î¥¨¥¤¥ê¥¢¥¹¤Ç¤¢¤ë¡£¤¢¤Ê¤¿¤¬ Expectk ¤«¡¢Tk ´Ä¶­¤ÇÆ°¤¯ Expect ¤Î¾¤ÎÊѼï¤ò
-»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
+のエイリアスである。あなたが Expectk か、Tk 環境で動く Expect の他の変種を
+使っている場合、
 .B send
-¤Ï¡¢Á´¤¯°Û¤Ê¤Ã¤¿ÌÜŪ¤Î¤¿¤á¤Ë»È¤ï¤ì¤Æ¤¤¤ë¡£
+は、全く異なった目的のために使われている。
 .B exp_send
-¤¬¡¢Î¾´Ä¶­¤Î´Ö¤Ç¤Î¸ß´¹À­¤Î¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤ë¡£
-»÷¤¿¤è¤¦¤Ê¥¨¥¤¥ê¥¢¥¹¤¬Â¾¤Î Expect ¤Î¾¤Î send ¥³¥Þ¥ó¥É¤Î¤¿¤á¤ËÄ󶡤µ¤ì¤Æ¤¤¤ë¡£
+が、両環境の間での互換性のために提供されている。
+似たようなエイリアスが他の Expect の他の send コマンドのために提供されている。
 .TP
 .BI send_error " [\-flags] string"
 .\"O is like
@@ -3104,7 +3104,7 @@ send 
 .\"O except that the output is sent to stderr rather than the current
 .\"O process.
 .BR send
-¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¡¢¸½¥×¥í¥»¥¹¤Ç¤Ê¤¯ stderr ¤Ë½ÐÎϤµ¤ì¤ë¡£
+と似たようなもので、現プロセスでなく stderr に出力される。
 .TP
 .BI send_log " [\--] string"
 .\"O is like
@@ -3113,9 +3113,9 @@ send 
 .\"O .BR log_file .)
 .\"O The arguments are ignored if no log file is open.
 .BR send
-¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¡¢¥í¥°¥Õ¥¡¥¤¥ë¤À¤±¤Ë string ¤òÁ÷¤ë¡£(
+と似たようなもので、ログファイルだけに string を送る。(
 .BR log_file
-¤ò»²¾È¡£) °ú¿ô¤Ï¥í¥°¥Õ¥¡¥¤¥ë¤¬ open ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð̵»ë¤µ¤ì¤ë¡£
+を参照。) 引数はログファイルが open されていなければ無視される。
 .TP
 .BI send_tty " [\-flags] string"
 .\"O is like
@@ -3123,22 +3123,22 @@ send 
 .\"O except that the output is sent to /dev/tty rather than the current
 .\"O process.
 .BR send
-¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¡¢¸½¥×¥í¥»¥¹¤Ç¤Ê¤¯ /dev/tty ¤Ø½ÐÎϤòÁ÷¤ë¡£
+と似たようなもので、現プロセスでなく /dev/tty へ出力を送る。
 .TP
 .BI send_user " [\-flags] string"
 .\"O except that the output is sent to stdout rather than the current
 .\"O process.
 .BR send
-¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¡¢¸½¥×¥í¥»¥¹¤Ç¤Ê¤¯É¸½à½ÐÎϤؽÐÎϤòÁ÷¤ë¡£
+と似たようなもので、現プロセスでなく標準出力へ出力を送る。
 .TP
 .BI sleep " seconds"
 .\"O causes the script to sleep for the given number of seconds.
 .\"O Seconds may be a decimal number.  Interrupts (and Tk events if you
 .\"O are using Expectk) are processed while Expect sleeps.
-¤Ï¡¢Í¿¤¨¤é¤ì¤¿¿ô»ú¤ÎÉÿô¤À¤±¥¹¥¯¥ê¥×¥È¤¬¥¹¥ê¡¼¥×¤¹¤ë¡£
-seconds ¤Ï¡¢10¿Ê¿ô¤À¤±¤¬µö¤µ¤ì¤ë¡£
-(Expectk ¤ò»È¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢Tk¤Î¥¤¥Ù¥ó¥È¤È)³ä¤ê¹þ¤ß¤Ï¡¢Expect¤¬
-¥¹¥ê¡¼¥×¤·¤Æ¤¤¤ë´Ö¤â½èÍý¤µ¤ì¤ë¡£
+は、与えられた数字の秒数だけスクリプトがスリープする。
+seconds は、10進数だけが許される。
+(Expectk を使っている場合、Tkのイベントと)割り込みは、Expectが
+スリープしている間も処理される。
 .TP
 .BI spawn " [args] program [args]"
 .\"O The process described by
@@ -3148,26 +3148,26 @@ seconds 
 .\"O .I spawn_id
 .\"O may be read or written, in effect providing job control.
 .IR "program args"
-¤òÁö¤é¤»¤ë¿·¤·¤¤¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë¡£¤½¤Îɸ½àÆþÎϤÈɸ½à½ÐÎϤÏ
-Expect ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤ë¡£¤½¤ì¤Ç¡¢Â¾¤Î
+を走らせる新しいプロセスを生成する。その標準入力と標準出力は
+Expect に結びつけられる。それで、他の
 .B Expect
-¥³¥Þ¥ó¥É¤ÇÆɤó¤À¤ê½ñ¤¤¤¿¤ê¤Ç¤­¤ë¡£
-Àܳ¤Ï
+コマンドで読んだり書いたりできる。
+接続は
 .B close
-¤Ë¤è¤Ã¤Æ¡¢¤¢¤ë¤¤¤Ï¡¢¥×¥í¥»¥¹¤½¤Î¤â¤Î¤¬¥Õ¥¡¥¤¥ë ID ¤Î
-¤¤¤º¤ì¤«¤ò¥¯¥í¡¼¥º¤·¤¿¾ì¹ç¡¢Ç˲õ¤µ¤ì¤ë¡£
+によって、あるいは、プロセスそのものがファイル ID の
+いずれかをクローズした場合、破壊される。
 .IP
-¥×¥í¥»¥¹¤Ï
+プロセスは
 .BR spawn
-¤Ë¤è¤Ã¤Æ»Ï¤á¤é¤ì¤ë¡£ÊÑ¿ô
+によって始められる。変数
 .I spawn_id
-¤Ë¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤Ø¤Î»²¾È¤ò¹Ô¤Ê¤¦¼±Ê̻Ҥ¬ÀßÄꤵ¤ì¤ë¡£
+には、そのプロセスへの参照を行なう識別子が設定される。
 .I spawn_id
-¤Ë¤è¤Ã¤Æµ­½Ò¤µ¤ì¤ë¥×¥í¥»¥¹¤Ï
+によって記述されるプロセスは
 .IR "current process"
-¤¬¹Í褵¤ì¤ë¡£
+が考慮される。
 .I spawn_id
-¤Ï¡¢Æɤó¤Ç¤â½ñ¤¤¤Æ¤âÎɤ¯¡¢¸ú²ÌŪ¤Ê¥¸¥ç¥ÖÀ©¸æ¤òÄ󶡤¹¤ë¡£
+は、読んでも書いても良く、効果的なジョブ制御を提供する。
 .\"O .IP
 .\"O .I user_spawn_id
 .\"O is a global variable containing a descriptor which refers to the user.
@@ -3190,25 +3190,25 @@ Expect 
 .\"O .BR send_error .
 .IP
 .I user_spawn_id
-¤Ï¥æ¡¼¥¶¡¼¤ò»²¾È¤¹¤ë¼±Ê̻ҤÎÆþ¤Ã¤¿¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢
+はユーザーを参照する識別子の入ったグローバル変数である。
+例えば、
 .I spawn_id
-¤¬¡¢¤³¤ÎÃͤËÀßÄꤵ¤ì¤¿¾ì¹ç¡¢
+が、この値に設定された場合、
 .B expect
-¤Ï¡¢
+は、
 .BR expect_user
-¤Î¤è¤¦¤ÊÆ°¤­¤ò¤¹¤ë¡£
+のような動きをする。
 
 .I
 .I error_spawn_id
-¤Ï¡¢É¸½à¥¨¥é¡¼½ÐÎϤò»²¾È¤¹¤ë¼±Ê̻ҤÎÆþ¤Ã¤¿¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ç¤¢¤ë¡£
-Î㤨¤Ð¡¢
+は、標準エラー出力を参照する識別子の入ったグローバル変数である。
+例えば、
 .I spawn_id
-¤¬¡¢¤³¤ÎÃͤËÀßÄꤵ¤ì¤¿¾ì¹ç¡¢
+が、この値に設定された場合、
 .B send
-¤Ï¡¢
+は、
 .BR send_error
-¤Î¤è¤¦¤ÊÆ°¤­¤ò¤¹¤ë¡£
+のような動きをする。
 .IP
 .\"O .I tty_spawn_id
 .\"O is a global variable containing a descriptor which refers to /dev/tty.
@@ -3216,10 +3216,10 @@ Expect 
 .\"O .I tty_spawn_id
 .\"O is not defined.  This may be tested as:
 .I tty_spawn_id
-¤Ï¡¢/dev/tty ¤ò»²¾È¤¹¤ë¼±Ê̻ҤÎÆþ¤Ã¤¿¥°¥í¡¼¥Ð¥ëÊÑ¿ô¤Ç¤¢¤ë¡£
-/dev/tty ¤¬Â¸ºß¤·¤Ê¤¤(cron, at, ¥Ð¥Ã¥Á¥¹¥¯¥ê¥×¥È¤ÎÃæ)¾ì¹ç¡¢
+は、/dev/tty を参照する識別子の入ったグローバル変数である。
+/dev/tty が存在しない(cron, at, バッチスクリプトの中)場合、
 .I tty_spawn_id
-¤ÏÄêµÁ¤µ¤ì¤Ê¤¤¡£°Ê²¼¤Î¤è¤¦¤Ë³Îǧ¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£:
+は定義されない。以下のように確認することができる。:
 .nf
 
     if {[info vars tty_spawn_id]} {
@@ -3237,10 +3237,10 @@ Expect 
 .\"O .I spawn_out(slave,name)
 .\"O is set to the name of the pty slave device.
 .B spawn
-UNIX ¥×¥í¥»¥¹ ID ¤òÉüµ¢¤¹¤ë¡£spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤¬¤Ê¤¤¾ì¹ç¡¢0 ¤¬
-Éüµ¢¤¹¤ë¡£ÊÑ¿ô
+UNIX プロセス ID を復帰する。spawn されたプロセスがない場合、0 が
+復帰する。変数
 .I spawn_out(slave,name)
-¤Ï pty ¥¹¥ì¡¼¥Ö¥Ç¥Ð¥¤¥¹¤Î̾Á°¤ËÀßÄꤵ¤ì¤ë¡£
+は pty スレーブデバイスの名前に設定される。
 .IP
 .\"O By default,
 .\"O .B spawn
@@ -3249,13 +3249,13 @@ UNIX 
 .\"O flag stops
 .\"O .B spawn
 .\"O from doing this.
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢
+デフォルトでは、
 .B spawn
-¤Ï¥³¥Þ¥ó¥É̾¤È°ú¿ô¤ò¥¨¥³¡¼¤¹¤ë¡£
+はコマンド名と引数をエコーする。
 .B \-noecho
-¥Õ¥é¥°¤Ç
+フラグで
 .B spawn
-¤¬¤³¤¦¤¹¤ë¤Î¤ò»ß¤á¤é¤ì¤ë¡£
+がこうするのを止められる。
 .IP
 .\"O The
 .\"O .B \-console
@@ -3277,23 +3277,23 @@ UNIX 
 .\"O .B \-nottyinit
 .\"O skips the "sane" initialization.
 .B \-console
-¥Õ¥é¥°¤Ï¡¢¥³¥ó¥½¡¼¥ë¤Ø¤Î½ÐÎϤòµ¯¤³¤·¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Ø¤Î
-¥ê¥À¥¤¥ì¥¯¥È¤µ¤ì¤ë¡£¤³¤Îµ¡Ç½¤Ï̤¥µ¥Ý¡¼¥È¤Î¥·¥¹¥Æ¥à¤¬¤¢¤ë¡£
+フラグは、コンソールへの出力を起こし、spawn されたプロセスへの
+リダイレクトされる。この機能は未サポートのシステムがある。
 
-ÆâÉôŪ¤Ë¡¢
+内部的に、
 .B spawn
-¤Ï pty ¤ò»È¤¤¡¢¥æ¡¼¥¶¡¼¤Î tty ¤ÈƱ¤¸¤è¤¦¤Ë½é´ü²½¤µ¤ì¤ë¡£¤³¤ì¤Ï¡¢¤«¤Ê¤ê
-½é´ü²½¤·¤Æ¤·¤Þ¤¦¤Î¤ÇÁ´¤Æ¤ÎÀßÄ꤬ (stty(1)¤Ë¤è¤ë¤È) "Àµ¾ï(sane)" ¤Ë¤Ê¤ë¡£
-ÊÑ¿ô
+は pty を使い、ユーザーの tty と同じように初期化される。これは、かなり
+初期化してしまうので全ての設定が (stty(1)によると) "正常(sane)" になる。
+変数
 .I stty_init
-¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¤È¡¢stty ¤Î°ú¿ô¤Î·Á¼°¤ò²ò¼á¤Ç¤­¤ë¤Î¤Ç¡¢¤è¤ê¾ÜºÙ¤ÊÀßÄê¤ò
-¹Ô¤Ê¤¨¤ë¡£Î㤨¤Ð¡¢
+が定義されていると、stty の引数の形式を解釈できるので、より詳細な設定を
+行なえる。例えば、
 "set stty_init raw"
-¤Ï¡¢°Ê¹ß spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤ÎüËö¤ò raw ¥â¡¼¥É¤Ç³«»Ï¤¹¤ë¡£
+は、以降 spawn されたプロセスの端末を raw モードで開始する。
 .B \-nottycopy
-¤Ï¡¢¥æ¡¼¥¶¡¼¤Î tty ¤Ë´ð¤Å¤¤¤¿½é´ü²½¤òÈô¤Ð¤¹¡£
+は、ユーザーの tty に基づいた初期化を飛ばす。
 .B \-nottyinit
-¤Ï¡¢"Àµ¾ï¤Ê"½é´ü²½¤òÈô¤Ð¤¹¡£
+は、"正常な"初期化を飛ばす。
 .IP
 .\"O Normally,
 .\"O .B spawn
@@ -3308,18 +3308,18 @@ UNIX 
 .\"O is encountering many ptys in odd states.  If you cannot kill
 .\"O the processes to which these ptys are attached, your only recourse may
 .\"O be to reboot.
-ÉáÄÌ¡¢
+普通、
 .B spawn
-¤Ï¡¢¼Â¹Ô¤¹¤ë¤Î¤Ë¤ï¤º¤«¤Î»þ´Ö¤·¤«¤«¤«¤é¤Ê¤¤¡£spawn ¤Ë»þ´Ö¤ò¤«¤±¤¿¤¤¤Î¤Ç
-¤¢¤ì¤Ð¡¢¤ª¤½¤é¤¯³ä¤ê¹þ¤Þ¤ì¤¿ pty ¤ËÁø¶ø¤¹¤ë¤À¤í¤¦¡£¤¿¤¯¤µ¤ó¤Î¥Æ¥¹¥È¤¬
-´Ö°ã¤Ã¤¿¥×¥í¥»¥¹¤Ë³Ý¤«¤ê¹ç¤¦¤³¤È¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
-(³ä¤ê¹þ¤Þ¤ì¤¿ pty ¤Ë¤Ä¤­¡¢10 É䫤«¤ë¡£)
+は、実行するのにわずかの時間しかかからない。spawn に時間をかけたいので
+あれば、おそらく割り込まれた pty に遭遇するだろう。たくさんのテストが
+間違ったプロセスに掛かり合うことを避けることができる。
+(割り込まれた pty につき、10 秒かかる。)
 .B \-d
-¥ª¥×¥·¥ç¥ó¤ò¤Ä¤±¤Æ Expect ¤òÁö¤é¤»¤ë¤È¡¢
+オプションをつけて Expect を走らせると、
 .B Expect
-¤¬¤ª¤«¤·¤Ê¾õÂ֤Τ¿¤¯¤µ¤ó¤Î pty ¤ËÁø¶ø¤·¤Æ¤¤¤ë¤«¤É¤¦¤«¤¬É½¼¨¤µ¤ì¤ë¡£
-¤³¤ì¤é¤Î pty ¤¬¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¤¿¤á¤Ë¥×¥í¥»¥¹¤ò»¦¤»¤Ê¤¤¾ì¹ç¡¢¥ê¥Ö¡¼¥È¤¹¤ë¤·¤«
-Íê¤ì¤ëÉüµì¼êÃʤϤʤ¤¡£
+がおかしな状態のたくさんの pty に遭遇しているかどうかが表示される。
+これらの pty がつながっているためにプロセスを殺せない場合、リブートするしか
+頼れる復旧手段はない。
 
 .\"O If
 .\"O .I program
@@ -3339,24 +3339,24 @@ UNIX 
 .\"O .B Expect
 .\"O process except by communication
 .\"O via the spawn_id.
-exec(2)¤¬¼ºÇÔ¤·¤Æ
+exec(2)が失敗して
 .I program
-¤¬ spawn ¤ËÀ®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç
-(Î㤨¤Ð¡¢
+が spawn に成功しなかった場合
+(例えば、
 .I program
-¤¬¤Ê¤«¤Ã¤¿¾ì¹ç¤Ê¤É)¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬¼¡¤Î
+がなかった場合など)、エラーメッセージが次の
 .B interact
-¤«
+か
 .B expect
-¥³¥Þ¥ó¥É¤ÇÉüµ¢¤¹¤ë¡£¤Ä¤Þ¤ê¡£
+コマンドで復帰する。つまり。
 .I program
-¤¬¡¢½ÐÎϤȤ·¤Æ¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ¤¤¤ë¤è¤¦¤Ë¸«¤»¤ë¡£
-¤³¤ÎÆ°ºî¤Ï¡¢
+が、出力としてエラーメッセージを出しているように見せる。
+この動作は、
 .BR spawn
-¤Î¼ÂÁõ¤Î¼«Á³¤Êµ¢·ë¤Ç¤¢¤ë¡£ÆâÉô¤Ç¡¢spawn ¤¬¥Õ¥©¡¼¥¯¤µ¤ì¡¢¤½¤Î¸å¡¢
-spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤¬¥ª¥ê¥¸¥Ê¥ë¤Î
+の実装の自然な帰結である。内部で、spawn がフォークされ、その後、
+spawn されたプロセスがオリジナルの
 .B Expect
-¥×¥í¥»¥¹¤È¤½¤Î spawn_id ¤Ç²ñÏäò¹Ô¤Ê¤¦¡£
+プロセスとその spawn_id で会話を行なう。
 
 .\"O The
 .\"O .B \-open
@@ -3395,53 +3395,53 @@ spawn 
 .\"O .B trap
 .\"O command, except that each signal requires a separate flag.
 .B \-open
-¥Õ¥é¥°¤Ï¡¢¼¡¤Î°ú¿ô¤ò Tcl ¥Õ¥¡¥¤¥ë¼±Ê̻ҤȤ·¤Æ²ò¼á¤¹¤ë(¤Ä¤Þ¤ê¡¢
+フラグは、次の引数を Tcl ファイル識別子として解釈する(つまり、
 .BR open
-¤ò¹Ô¤Ê¤Ã¤ÆÉüµ¢¤¹¤ë¡£
+を行なって復帰する。
 )
-spawn id ¤Ï¡¢spawn ¤µ¤ì¤¿ id ¤È¤·¤Æ»È¤ï¤ì¤ë¡£(¥Õ¥¡¥¤¥ë¼±Ê̻Ҥϡ¢
-¤â¤¦»È¤¦¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£) ¤³¤ì¤Ë¤è¤ê¡¢
-pty ¤ò½ü¤¯¡¢raw ¥Ç¥Ð¥¤¥¹¡¢¥Õ¥¡¥¤¥ë¡¢¥Ñ¥¤¥×¥é¥¤¥ó¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
-0 ¤¬Ê֤äƤ¯¤ë¤Î¤Ï¡¢´ØÏ¢¤¹¤ë¥×¥í¥»¥¹¤¬¤Ê¤«¤Ã¤¿»þ¤Ç¤¢¤ë¡£
-spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Ø¤ÎÀܳ¤¬¥¯¥í¡¼¥º¤µ¤ì¤ë¤È¡¢Tcl ¥Õ¥¡¥¤¥ë¼±Ê̻Ҥâ
-¥¯¥í¡¼¥º¤µ¤ì¤ë¡£
+spawn id は、spawn された id として使われる。(ファイル識別子は、
+もう使うべきではない。) これにより、
+pty を除く、raw デバイス、ファイル、パイプラインを使うことができる。
+0 が返ってくるのは、関連するプロセスがなかった時である。
+spawn されたプロセスへの接続がクローズされると、Tcl ファイル識別子も
+クローズされる。
 .B \-leaveopen
-¥Õ¥é¥°¤Ï¡¢
+フラグは、
 .B \-open
-¤È»÷¤¿Æ°¤­¤ò¤¹¤ë¤¬¡¢
-spawn id ¤ò¥¯¥í¡¼¥º¤·¤¿¸å¤â¥Õ¥¡¥¤¥ë¼±Ê̻Ҥò³«¤¤¤¿¤Þ¤Þ¤Ë¤¹¤ëÅÀ¤¬°ã¤¦¡£
+と似た動きをするが、
+spawn id をクローズした後もファイル識別子を開いたままにする点が違う。
 
 .B \-pty
-¥Õ¥é¥°¤Ï¡¢
-pty ¤ò¥ª¡¼¥×¥ó¤¹¤ë¤¬¥×¥í¥»¥¹¤òspawn¤·¤Ê¤¤¡£0 ¤¬Éüµ¢¤¹¤ë¤Î¤Ï¡¢
-´ØÏ¢¤¹¤ë¥×¥í¥»¥¹¤¬¤Ê¤¤¾ì¹ç¤Ç¤¢¤ë¡£spawn_id ¤Ï¡¢Ä̾ïÄ̤êÀßÄꤵ¤ì¤ë¡£
+フラグは、
+pty をオープンするがプロセスをspawnしない。0 が復帰するのは、
+関連するプロセスがない場合である。spawn_id は、通常通り設定される。
 
-ÊÑ¿ô
+変数
 .I spawn_out(slave,fd)
-¤Ë¤Ï¡¢pty ¥¹¥ì¡¼¥Ö¤È¤Ä¤Ê¤¬¤Ã¤Æ¤¤¤ë¥Õ¥¡¥¤¥ë¼±Ê̻Ҥ¬ÀßÄꤵ¤ì¤ë¡£
-"close -slave" ¤Ç close ¤Ç¤­¤ë¡£
+には、pty スレーブとつながっているファイル識別子が設定される。
+"close -slave" で close できる。
 
 .B \-ignore
-¥Õ¥é¥°¤Ï¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹Ãæ¤Ç̵»ë¤µ¤ì¤ë¥·¥°¥Ê¥ë¤Î̾Á°¤ò»Ø¼¨¤¹¤ë¡£
-¤Ê¤±¤ì¤Ð¡¢¥·¥°¥Ê¥ë¤Ï¥Ç¥Õ¥©¥ë¥È¤Î¿¶Éñ¤¤¤ò¤¹¤ë¡£¥·¥°¥Ê¥ë¤Î̾Á°¤Ï
+フラグは、spawn されたプロセス中で無視されるシグナルの名前を指示する。
+なければ、シグナルはデフォルトの振舞いをする。シグナルの名前は
 .B trap
-¥³¥Þ¥ó¥É¤Ç»È¤¦Ì¾Á°¤ÈƱ¤¸¤Ç¤¢¤ë¡£³Æ¥·¥°¥Ê¥ë¤òʬΥ¤¹¤ë¤Î¤Ë¥Õ¥é¥°¤¬
-ɬÍפÊÅÀ¤ò½ü¤¤¤Æ¤Ï¡£
+コマンドで使う名前と同じである。各シグナルを分離するのにフラグが
+必要な点を除いては。
 .TP
 .BI strace " level"
-¤Ï¡¢°Ê¹ß¤ÎÌ¿Îá¤ò¼Â¹Ô¤¹¤ëÁ°¤Ëɽ¼¨¤ò¹Ô¤Ê¤¦¡£
-(Tcl ¤Î trace ¤Ï¡¢ÊÑ¿ô¤Î¥È¥ì¡¼¥¹¤ò¹Ô¤Ê¤¦¡£)
+は、以降の命令を実行する前に表示を行なう。
+(Tcl の trace は、変数のトレースを行なう。)
 .I level
-¤Ï¡¢¥È¥ì¡¼¥¹¤Ø¤Î¸Æ¤Ó½Ð¤·¥¹¥¿¥Ã¥¯¤Î¿¼¤µ¤ò¼¨¤¹¡£
+は、トレースへの呼び出しスタックの深さを示す。
 .\"O the following command runs
 .\"O .B Expect
 .\"O while tracing the first 4 levels of calls,
 .\"O but none below that.
-Î㤨¤Ð¡¢
-°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ï
+例えば、
+以下のコマンドは
 .B Expect
-ºÇ½é¤Î 4 ¥ì¥Ù¥ë¤Î¸Æ¤Ó½Ð¤·¤ò¥È¥ì¡¼¥¹¤¹¤ë¡£
-¤½¤ì°Ê¾å¤Î¿¼¤µ¤Ï¥È¥ì¡¼¥¹¤·¤Ê¤¤¡£
+最初の 4 レベルの呼び出しをトレースする。
+それ以上の深さはトレースしない。
 .nf
 
     expect \-c "strace 4" script.exp
@@ -3453,7 +3453,7 @@ pty 
 .\"O most recent non-info arguments given.
 
 .B -info
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢strace ¤ÏºÇ¸å¤Î info ¤Ç¤Ê¤¤»ØÄê¤ÎÆâÍƤòÉüµ¢¤¹¤ë¡£
+フラグを指定すると、strace は最後の info でない指定の内容を復帰する。
 .TP
 .BI stty " args"
 .\"O is requested and the controlling terminal is accessed, the previous
@@ -3475,40 +3475,40 @@ pty 
 .\"O and
 .\"O .B \-echo
 .\"O put the terminal into echo and noecho mode respectively.
-¤ÏüËö¥â¡¼¥É¤òÊѹ¹¤¹¤ë¡£³°Éô¤Î stty ¥³¥Þ¥ó¥É¤È»÷¤¿¤è¤¦¤Ê¤â¤Î¤Ç¤¢¤ë¡£
+は端末モードを変更する。外部の stty コマンドと似たようなものである。
 
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢À©¸æ¤·¤Æ¤¤¤ëüËö¤¬¥¢¥¯¥»¥¹¤µ¤ì¤ë¡£Â¾¤ÎüËö¤Ï¡¢
-"< /dev/tty..." ¤òÄɲ乤뤳¤È¤Ç¥¢¥¯¥»¥¹¤Ç¤­¤ë¡£(°ú¿ô¤ò°ì¤Ä¤Î°ú¿ô¤Ë
-¤Þ¤È¤á¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£)
+デフォルトでは、制御している端末がアクセスされる。他の端末は、
+"< /dev/tty..." を追加することでアクセスできる。(引数を一つの引数に
+まとめるべきではない。)
 
-¥¹¥Æ¡¼¥¿¥¹Í×µá¤Ï¥³¥Þ¥ó¥É¤Î·ë²Ì¤È¤·¤Æ¥¹¥Æ¡¼¥¿¥¹¤òÉüµ¢¤¹¤ë¡£
-¥¹¥Æ¡¼¥¿¥¹¤¬Í׵ᤵ¤ì¤º¤ËÀ©¸æ¤·¤Æ¤¤¤ëüËö¤Ë¥¢¥¯¥»¥¹¤¹¤ë¾ì¹ç¡¢Ä¾Á°¤Î raw ¤È
-echo ¤Î¾õÂÖ¤òÊÖ¤¹¡£
+ステータス要求はコマンドの結果としてステータスを復帰する。
+ステータスが要求されずに制御している端末にアクセスする場合、直前の raw と
+echo の状態を返す。
 
-Î㤨¤Ð¡¢°ú¿ô
+例えば、引数
 .B raw
-¤«
+か
 .B \-cooked
-¤Ï¡¢Ã¼Ëö¤ò raw ¥â¡¼¥É¤ËÀßÄꤹ¤ë¡£
-°ú¿ô
+は、端末を raw モードに設定する。
+引数
 .B \-raw
-¤«
+か
 .B cooked
-¤Ï¡¢Ã¼Ëö¤ò cooked ¥â¡¼¥É¤ËÀßÄꤹ¤ë¡£
-°ú¿ô
+は、端末を cooked モードに設定する。
+引数
 .B echo
-¤«
+か
 .B \-echo
-¤Ï¡¢Ã¼Ëö¤ò¤½¤ì¤¾¤ì echo ¤¢¤ë¤¤¤Ï noecho ¥â¡¼¥É¤ËÀßÄꤹ¤ë¡£
+は、端末をそれぞれ echo あるいは noecho モードに設定する。
 .IP
 .\"O The following example illustrates how to temporarily disable echoing.
 .\"O This could be used in otherwise-automatic
 .\"O scripts to avoid embedding passwords in them.
 .\"O (See more discussion on this under EXPECT HINTS below.)
-°Ê²¼¤ÎÎã¤Ï¡¢°ì»þŪ¤Ê¥¨¥³¡¼¶Ø»ß¤ò¤É¤¦¤ä¤Ã¤Æ¤ª¤³¤Ê¤¦¤«¤ò¼¨¤¹¡£
-¤³¤ì¤Ï¡¢Â¾¤Î¼«Æ°¥¹¥¯¥ê¥×¥È¤Ç¡¢¤½¤ÎÃæ¤Ë¥Ñ¥¹¥ï¡¼¥É¤¬Ëä¤á¹þ¤Þ¤ì¤ë¤Î¤ò
-Ëɤ°¤³¤È¤Ë»È¤ï¤ì¤ë¡£(¤â¤Ã¤ÈµÄÏÀ¤·¤¿¤±¤ì¤Ð¡¢²¼¤Î EXPECT ¥Ò¥ó¥È¤Ë
-¤¢¤ë¡£)
+以下の例は、一時的なエコー禁止をどうやっておこなうかを示す。
+これは、他の自動スクリプトで、その中にパスワードが埋め込まれるのを
+防ぐことに使われる。(もっと議論したければ、下の EXPECT ヒントに
+ある。)
 .nf
 
     stty \-echo
@@ -3529,13 +3529,13 @@ echo 
 .\"O The return status from sh is handled the same way that
 .\"O .B exec
 .\"O handles its return status.
-¤Ï¡¢
+は、
 .I args
-¤ò¡¢sh(1)¤ËÆþÎϤ¹¤ë¡£Ã¼Ëö¤«¤é¥³¥Þ¥ó¥É¤ò᤯¤Î¤È¤Á¤ç¤¦¤ÉƱ¤¸¤Ç¤¢¤ë¡£
+を、sh(1)に入力する。端末からコマンドを叩くのとちょうど同じである。
 .B Expect
-¤Ï¡¢¥·¥§¥ë¤¬½ª¤ë¤Î¤òÂԤġ£sh ¤«¤é¤ÎÉüµ¢Ãͤϡ¢
+は、シェルが終るのを待つ。sh からの復帰値は、
 .B exec
-¤¬¤½¤ÎÉüµ¢Ãͤò°·¤¦¤Î¤ÈƱ¤¸¤Ë°·¤ï¤ì¤ë¡£
+がその復帰値を扱うのと同じに扱われる。
 .\"O .IP
 .\"O In contrast to
 .\"O .B exec
@@ -3549,21 +3549,21 @@ echo 
 .\"O are not recorded in the log.
 .IP
 .B exec
-¤¬¡¢¥¹¥¯¥ê¥×¥È¤Ëɸ½àÆþ½ÐÎϤò¥ê¥À¥¤¥ì¥¯¥È¤¹¤ë¤Î¤ÈÂоÈŪ¤Ë¡¢
-ÂоÈŪ¤Ë
+が、スクリプトに標準入出力をリダイレクトするのと対照的に、
+対照的に
 .B system
-¤Ï¡¢¥ê¥À¥¤¥ì¥¯¥·¥ç¥ó¤ò¹Ô¤Ê¤ï¤Ê¤¤¡£(¾¤Ëʸ»úÎ󤽤Τâ¤Î¤Ç¥ê¥À¥¤¥ì¥¯¥È¤ò
-»Ø¼¨¤·¤Ê¤¤¸Â¤ê¡£) ¤½¤ì¤Ç¡¢/dev/tty ¤ÈľÀÜÏ䵤ʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¥×¥í¥°¥é¥à¤ò
-»È¤¦¤³¤È¤¬¤Ç¤­¤ë¡£Æ±¤¸Íýͳ¤Ç¡¢
+は、リダイレクションを行なわない。(他に文字列そのものでリダイレクトを
+指示しない限り。) それで、/dev/tty と直接話さなければならないプログラムを
+使うことができる。同じ理由で、
 .B system
-¤Î·ë²Ì¤Ï¡¢¥í¥°¤Ëµ­Ï¿¤µ¤ì¤Ê¤¤¡£
+の結果は、ログに記録されない。
 .TP
 .BI timestamp " [args]"
 .\"O returns a timestamp.
 .\"O With no arguments, the number of
 .\"O seconds since the epoch is returned.
-¤Ï¡¢¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÉüµ¢¤¹¤ë¡£
-°ú¿ô¤¬¤Ê¤¤¾ì¹ç¡¢Éüµ¢¤¹¤ë¤Þ¤Ç¤ÎÉÿô¤¬Ê֤롣
+は、タイムスタンプを復帰する。
+引数がない場合、復帰するまでの秒数が返る。
 
 .\"O The
 .\"O .B \-format
@@ -3611,28 +3611,28 @@ echo 
 .\"O flag forces timestamp output to use the GMT timezone.  With no flag,
 .\"O the local timezone is used.
 .B \-format
-¥Õ¥é¥°¤Ï¡¢Ê¸»úÎó¤¬Â³¤¯¤¬¡¢¤½¤Îʸ»úÎó¤Ë
-POSIX ¤Î strftime ¤Î¥ë¡¼¥ë¤Ë½¾¤Ã¤ÆÃÖ´¹¤¬¤«¤«¤ë¡£
-Î㤨¤Ð¡¢ %a ¤ÏÍËÆü(¤¹¤Ê¤ï¤Á¡¢Sat)¤È¤«¡£Â¾¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë¡£:
+フラグは、文字列が続くが、その文字列に
+POSIX の strftime のルールに従って置換がかかる。
+例えば、 %a は曜日(すなわち、Sat)とか。他は以下の通りである。:
 .nf
-    %a      Î¬µ­¤µ¤ì¤¿ÍËÆü¤Î̾Á°
-    %A      Î¬¤µ¤ì¤Ê¤¤ÍËÆü¤Î̾Á°
-    %b      Î¬µ­¤µ¤ì¤¿·î¤Î̾Á°
-    %B      Î¬¤µ¤ì¤Ê¤¤·î¤Î̾Á°
-    %c      ¼¡¤Î·Á¼°¤Ç½ñ¤«¤ì¤¿»þ¹ï: Wed Oct  6 11:45:56 1993
-    %d      Æü (01-31)
-    %H      »þ (00-23)
-    %I      »þ (01-12)
-    %j      Æü (001-366)
-    %m      ·î (01-12)
-    %M      ʬ (00-59)
-    %p      am ¤Þ¤¿¤Ï pm
-    %S      Éà(00-61)
-    %u      Æü (1-7, ·îÍËÆü¤¬½µ¤ÎºÇ½é¤ÎÆü)
-    %U      ½µ (00-53, ºÇ½é¤ÎÆüÍËÆü¤¬Âè1½µ¤ÎºÇ½é¤ÎÆü)
-    %V      ½µ (01-53, ISO 8601 ¥¹¥¿¥¤¥ë)
-    %w      Æü (0-6)
-    %W      ½µ (00-53, ºÇ½é¤Î·îÍËÆü¤¬Âè1½µ¤ÎºÇ½é¤ÎÆü)
+    %a      略記された曜日の名前
+    %A      略されない曜日の名前
+    %b      略記された月の名前
+    %B      略されない月の名前
+    %c      次の形式で書かれた時刻: Wed Oct  6 11:45:56 1993
+    %d       (01-31)
+    %H       (00-23)
+    %I       (01-12)
+    %j       (001-366)
+    %m       (01-12)
+    %M       (00-59)
+    %p      am または pm
+    %S       (00-61)
+    %u      日 (1-7, 月曜日が週の最初の日)
+    %U      週 (00-53, 最初の日曜日が第1週の最初の日)
+    %V      週 (01-53, ISO 8601 スタイル)
+    %w       (0-6)
+    %W      週 (00-53, 最初の月曜日が第1週の最初の日)
     %x      date-time as in: Wed Oct  6 1993
     %X      time as in: 23:59:59
     %y      year (00-99)
@@ -3641,15 +3641,15 @@ POSIX 
     %%      a bare percent sign
 
 .fi
-¤³¤Î¾¤Î % »ØÄê¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£Â¾¤Îʸ»ú¤ÏÊѹ¹¤µ¤ì¤Ê¤¤¡£
-C ¥í¥«¡¼¥ë¤À¤±¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤ë¡£
+この他の % 指定は定義されていない。他の文字は変更されない。
+C ロカールだけがサポートされる。
 
 .B \-seconds
-¥Õ¥é¥°¤Ï¡¢
-¥¿¥¤¥à¥¹¥¿¥ó¥×¤òÉäÇɽ¤¹¡£
+フラグは、
+タイムスタンプを秒で表す。
 
 .B \-gmt
-GMT ¥¿¥¤¥à¥¾¡¼¥ó¤Ç½ÐÎϤ¹¤ë¡£¥Ç¥Õ¥©¥ë¥È¤Ï¥í¡¼¥«¥ë¥¿¥¤¥à¥¾¡¼¥ó¤Ç¤¢¤ë¡£
+GMT タイムゾーンで出力する。デフォルトはローカルタイムゾーンである。
 .TP
 .BI trap " [[command] signals]"
 .\"O causes the given 
@@ -3739,94 +3739,94 @@ GMT 
 .\"O this as long as you disable it during subsequent spawn commands.
 .\"O 
 .\"O See signal(3) for more info.
-¤ò¼Â¹Ô¤¹¤ë¤È¡¢°Ê¹ß»ØÄꤵ¤ì¤¿ signal ¤ò¼õ¤±¤È¤ë¤È»ØÄꤵ¤ì¤¿
+を実行すると、以降指定された signal を受けとると指定された
 .I command
-¤ò¼Â¹Ô¤¹¤ë¡£
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Ç¼Â¹Ô¤µ¤ì¤ë¡£
-¤â¤·¡¢
+を実行する。
+このコマンドは、グローバルスコープで実行される。
+もし、
 .I command
-¤¬»ØÄꤵ¤ì¤Ê¤±¤ì¤Ð¡¢¥·¥°¥Ê¥ë¥¢¥¯¥·¥ç¥ó¤¬Éüµ¢¤¹¤ë¡£
+が指定されなければ、シグナルアクションが復帰する。
 .I command
-¤¬¡¢Ê¸»úÎó SIG_IGN ¤Ç¤¢¤ì¤Ð¡¢¥·¥°¥Ê¥ë¤¬Ìµ»ë¤µ¤ì¤ë¡£
+が、文字列 SIG_IGN であれば、シグナルが無視される。
 .I command
-¤¬¡¢Ê¸»úÎó SIG_DFL ¤Ç¤¢¤ì¤Ð¡¢¥·¥°¥Ê¥ë¤Ï¥Ç¥Õ¥©¥ë¥È¤ÎÆ°¤­¤ò¤¹¤ë¡£
+が、文字列 SIG_DFL であれば、シグナルはデフォルトの動きをする。
 .I signals
-¤Ï¡¢¥·¥°¥Ê¥ë¤¬£±¤Ä¤Ç¤âÊ£¿ô¤Î¥·¥°¥Ê¥ë¤Î¥ê¥¹¥È¤Ç¤âÎɤ¤¡£¥·¥°¥Ê¥ë¤Ï¡¢
-¿ô»ú¤Èsignal(3)¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ëʸ»úÎó¤Î¤É¤Á¤é¤Ç»ØÄꤷ¤Æ¤âÎɤ¤¡£
-¥×¥ì¥Õ¥£¥¯¥¹¤Î"SIG"¤Ï¡¢¾Êά¤·¤Æ¤âÎɤ¤¡£
+は、シグナルが1つでも複数のシグナルのリストでも良い。シグナルは、
+数字とsignal(3)に記述されている文字列のどちらで指定しても良い。
+プレフィクスの"SIG"は、省略しても良い。
 
-°ú¿ô¤¬¤Ê¤±¤ì¤Ð(¤Þ¤¿¤Ï¡¢°ú¿ô \-number ¤Ç¤¢¤ì¤Ð)¡¢
+引数がなければ(または、引数 \-number であれば)、
 .B trap
-¤Ï¡¢trap¥³¥Þ¥ó¥É¤Ç²£¼è¤ê¤µ¤ì¤Æ¤¤¤ë¥·¥°¥Ê¥ëÈÖ¹æ¤òÉüµ¢¤¹¤ë¡£
+は、trapコマンドで横取りされているシグナル番号を復帰する。
 
 .B \-code
-¥Õ¥é¥°¤Ï¥³¥Þ¥ó¥É¥³¡¼¥É¤òÊÖ¤¹¡£Tcl ¤¬¥³¥Þ¥ó¥É¤òÆ°¤«¤·»Ï¤á¤¿»þ¤Ë
-µ¢¤½¤¦¤È¤·¤¿¥³¡¼¥É¤Ç¤¢¤ë¡£
+フラグはコマンドコードを返す。Tcl がコマンドを動かし始めた時に
+帰そうとしたコードである。
 
 .B \-interp
-¥Õ¥é¥°¤Ï¡¢trap ¤¬Àë¸À¤µ¤ì¤¿»þ¤Ç¤Ê¤¯¥³¥Þ¥ó¥É¤¬³«»Ï¤µ¤ì¤¿»þ¤Ë¥¤¥ó¥¿¥×¥ê¥¿¤Ë
-¥³¥Þ¥ó¥É¤òɾ²Á¤µ¤»¤ë¡£
+フラグは、trap が宣言された時でなくコマンドが開始された時にインタプリタに
+コマンドを評価させる。
 
 .B \-name
-¥Õ¥é¥°¤Ï¡¢
+フラグは、
 .B trap
-¥³¥Þ¥ó¥É¤Ë trap ¤Î¤«¤«¤Ã¤Æ¤¤¤ë¥·¥°¥Ê¥ë̾¤òµ¢¤¹¡£
+コマンドに trap のかかっているシグナル名を帰す。
 
 .B \-max
-¥Õ¥é¥°¤Ï¡¢
+フラグは、
 .B trap
-¥³¥Þ¥ó¥É¤ËÀßÄê¤Ç¤­¤ëºÇ¤âÂ礭¤Ê¥·¥°¥Ê¥ëÈÖ¹æ¤òµ¢¤¹¡£
+コマンドに設定できる最も大きなシグナル番号を帰す。
 
-Î㤨¤Ð¡¢"trap {send_user "Ouch!"} SIGINT" ¤Ï¡¢
-¥æ¡¼¥¶¡¼¤¬ ^C ¤ò²¡¤¹Å٤ˠ"Ouch!" ¤òɽ¼¨¤¹¤ë¡£
+例えば、"trap {send_user "Ouch!"} SIGINT" は、
+ユーザーが ^C を押す度に "Ouch!" を表示する。
 
-¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢SIGINT(Ä̾ï ^C ¤ò²¡¤¹¤ÈȯÀ¸¤¹¤ë)¤ä
-SIGTERM ¤Ï¡¢Expect ¤ò exit ¤µ¤»¤Æ¤·¤Þ¤¦¡£¤³¤ì¤Ï¡¢Expect ¤¬µ¯Æ°»þ¤Ë
-¼Â¹Ô¤¹¤ë°Ê²¼¤Î trap ¤Ë¤è¤Ã¤Æµ¯¤³¤Ã¤Æ¤¤¤ë¡£
+デフォルトでは、SIGINT(通常 ^C を押すと発生する)や
+SIGTERM は、Expect を exit させてしまう。これは、Expect が起動時に
+実行する以下の trap によって起こっている。
 .nf
 
     trap exit {SIGINT SIGTERM}
 
 .fi
--D¥Õ¥é¥°¤ò»È¤Ã¤Æ¥Ç¥Ð¥Ã¥¬¤òµ¯Æ°¤¹¤ë¤Ê¤é¡¢SIGINT ¤¬ºÆÄêµÁ¤µ¤ì¤Æ¤«¤éÂÐÏ÷¿
-¥Ç¥Ð¥Ã¥¬¤¬µ¯Æ°¤µ¤ì¤ë¡£¤³¤ì¤Ï°Ê²¼¤Î trap ¤Ë¤è¤Ã¤Æµ¯¤³¤ë¡£
+-Dフラグを使ってデバッガを起動するなら、SIGINT が再定義されてから対話型
+デバッガが起動される。これは以下の trap によって起こる。
 .nf
 
     trap {exp_debug 1} SIGINT
 
 .fi
-¥Ç¥Ð¥Ã¥¬¤Î¥È¥é¥Ã¥×¤Ï¡¢´Ä¶­ÊÑ¿ô EXPECT_DEBUG_INIT ¤òÀßÄꤷ¤Æ¡¢¿·¤·¤¯
-trap ¤òµ¯Æ°¤¹¤ë¤³¤È¤ÇÊѹ¹¤Ç¤­¤ë¡£
+デバッガのトラップは、環境変数 EXPECT_DEBUG_INIT を設定して、新しく
+trap を起動することで変更できる。
 
-¤â¤Á¤í¤ó¡¢¥¹¥¯¥ê¥×¥È¤Ëtrap¥³¥Þ¥ó¥É¤ò­¤¹¤À¤±¤ÇÎã¤Î¥È¥é¥Ã¥×¤ÏξÊý¤È¤â
-¾å½ñ¤­¤Ç¤­¤ë¡£Æäˡ¢¼«ºî¤Î "trap exit SIGINT" ¤¬¤¢¤ë¤Ê¤é¡¢¤³¤ì¤Ï
-¥Ç¥Ð¥Ã¥¬¤Î¥È¥é¥Ã¥×¤ò¾å½ñ¤­¤·¤Æ¤·¤Þ¤¦¡£¥æ¡¼¥¶¡¼¤Ë¥Ç¥Ð¥Ã¥¬¤òÁ´¤¯
-¿¨¤é¤»¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤Î¤Ë¡¢ÊØÍø¤Ç¤¢¤ë¡£
+もちろん、スクリプトにtrapコマンドを足すだけで例のトラップは両方とも
+上書きできる。特に、自作の "trap exit SIGINT" があるなら、これは
+デバッガのトラップを上書きしてしまう。ユーザーにデバッガを全く
+触らせないようにするのに、便利である。
 
-SIGINT ¤Î¥È¥é¥Ã¥×¤òÆȼ«¤ËÄêµÁ¤·¤¿¤¤¤±¤ì¤É¡¢¥Ç¥Ð¥Ã¥¬¤Ë¤âƱ»þ¤Ë³ä¤ê¹þ¤ó¤Ç
-¤â¤é¤¤¤¿¤¤¤Î¤Ç¤¢¤ì¤Ð¡¢¤³¤¦½ñ¤¯¡£:
+SIGINT のトラップを独自に定義したいけれど、デバッガにも同時に割り込んで
+もらいたいのであれば、こう書く。:
 .nf
 
     if ![exp_debug] {trap mystuff SIGINT}
 
 .fi
-Âå¤ï¤ê¤Ë¡¢Ê̤Υ·¥°¥Ê¥ë¤ò»È¤Ã¤Æ¥Ç¥Ð¥Ã¥¬¤Ë³ä¤ê¹þ¤ß¤ò¤«¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
+代わりに、別のシグナルを使ってデバッガに割り込みをかけることができる。
 
 .B trap
-¤Ï¡¢SIGALRM ¤Î¥¢¥¯¥·¥ç¥ó¤ò¾å½ñ¤­¤·¤Ê¤¤¡£
+は、SIGALRM のアクションを上書きしない。
 .BR Expect
-¤¬ÆâÉô¤Ç»ÈÍѤ·¤Ê¤¤¡£
-disconnect ¥³¥Þ¥ó¥É¤Ï¡¢SIGALRM¤ò SIG_IGN (ignore)¤ËÀßÄꤹ¤ë¡£
-¸å¤«¤éȯ¹Ô¤µ¤ì¤ë spawn ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë´Ö¡¢SIGALRM ¤Ï
-¥Ç¥£¥¹¥¨¡¼¥Ö¥ëÃæ¤Ç¤¢¤ì¤ÐºÆÅÙ¥¤¥Í¡¼¥Ö¥ë¤Ë¤Ç¤­¤ë¡£
+が内部で使用しない。
+disconnect コマンドは、SIGALRMを SIG_IGN (ignore)に設定する。
+後から発行される spawn コマンドを実行している間、SIGALRM は
+ディスエーブル中であれば再度イネーブルにできる。
 
-¤â¤Ã¤È¾ðÊó¤¬Íߤ·¤¤¾ì¹ç¡¢signal(3) ¤ò»²¾È¤¹¤ë¤³¤È¡£
+もっと情報が欲しい場合、signal(3) を参照すること。
 .TP
 .BI wait " [args]"
 .\"O delays until a spawned process (or
 .\"O the current process if none is named) terminates.
-¤Ï¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹(¤¢¤ë¤¤¤Ï¡¢Ì¾Á°¤Ä¤­¤Î¥×¥í¥»¥¹¤¬¤Ê¤±¤ì¤Ð¸½ºß¤Î¥×¥í¥»¥¹)
-¤¬½ªÎ»¤¹¤ë¤Î¤òÂԤġ£
+ã\81¯ã\80\81spawn ã\81\95ã\82\8cã\81\9fã\83\97ã\83­ã\82»ã\82¹(ã\81\82ã\82\8bã\81\84ã\81¯ã\80\81å\90\8då\89\8dã\81¤ã\81\8dã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8cã\81ªã\81\91ã\82\8cã\81°ç\8f¾å\9c¨ã\81®ã\83\97ã\83­ã\82»ã\82¹)
+が終了するのを待つ。
 .IP
 .\"O .B wait
 .\"O normally returns a list of four integers.
@@ -3838,14 +3838,14 @@ disconnect 
 .\"O the value of errno set by the operating system.  The global variable
 .\"O errorCode is also set.
 .B wait
-¤Ï¡¢Ä̾ï 4 ¤Ä¤ÎÀ°¿ô¤Î¥ê¥¹¥È¤òµ¢¤¹¡£
-ºÇ½é¤ÎÀ°¿ô¤Ï¡¢½ªÎ»¤òÂÔ¤Á¹½¤¨¤Æ¤¤¤ë¥×¥í¥»¥¹¤Î pid ¤Ç¤¢¤ë¡£
-2 ¤Ä¤á¤ÎÀ°¿ô¤Ï¡¢´ØÏ¢¤¹¤ë spawn id ¤Ç¤¢¤ë¡£
-3 ¤Ä¤á¤ÎÀ°¿ô¤Ï¡¢¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¥¨¥é¡¼¤¬¤¢¤ì¤Ð -1¡¢
-¤½¤¦¤Ç¤Ê¤±¤ì¤Ð¡¢0 ¤Ç¤¢¤ë¡£
-3 ¤Ä¤á¤ÎÀ°¿ô¤¬ 0 ¤Ç¤¢¤ì¤Ð¡¢4 ¤Ä¤á¤ÎÀ°¿ô¤Ïspawn¤µ¤ì¤¿¥×¥í¥»¥¹¤«¤é¤Î¥ê¥¿¡¼¥ó
-¥³¡¼¥É¤Ç¤¢¤ë¡£3 ¤Ä¤á¤ÎÀ°¿ô¤¬ -1 ¤Ç¤¢¤ì¤Ð¡¢4 ¤Ä¤á¤ÎÀ°¿ô¤Ï¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à
-¤Ë¤è¤Ã¤ÆÀßÄꤵ¤ì¤¿ errno ¤ÎÃͤǤ¢¤ë¡£¥°¥í¡¼¥Ð¥ëÊÑ¿ô errorCode ¤âÀßÄꤵ¤ì¤ë¡£
+は、通常 4 つの整数のリストを帰す。
+最初の整数は、終了を待ち構えているプロセスの pid である。
+2 つめの整数は、関連する spawn id である。
+3 つめの整数は、オペレーティングシステムエラーがあれば -1、
+そうでなければ、0 である。
+3 つめの整数が 0 であれば、4 つめの整数はspawnされたプロセスからのリターン
+コードである。3 つめの整数が -1 であれば、4 つめの整数はオペレーティングシステム
+によって設定された errno の値である。グローバル変数 errorCode も設定される。
 
 .\"O Additional elements may appear at the end of the return value from
 .\"O .BR wait .
@@ -3853,11 +3853,11 @@ disconnect 
 .\"O Currently, the only possible value for this element is CHILDKILLED in
 .\"O which case the next two values are the C-style signal name and a short
 .\"O textual description.
-ÄɲäÎÍ×ÁǤ¬
+追加の要素が
 .BR wait
-¤ÎÉüµ¢Ãͤ˲äï¤Ã¤Æ¤â¹½¤ï¤Ê¤¤¡£¥ª¥×¥·¥ç¥ó¤Î5¤Ä¤á¤ÎÍ×ÁǤϡ¢¾ðÊ󥯥饹¤Î
-¼±Ê̻ҤǤ¢¤ë¡£º£¤Î¤È¤³¤í¡¢¤³¤ÎÍ×ÁǤÎÍ£°ì²Äǽ¤ÊÃͤϠCHILDKILLED ¤Ç¡¢
-¤½¤Î¾ì¹ç¡¢¼¡¤ÎÆó¤Ä¤ÎÃͤ¬ C ¥¹¥¿¥¤¥ë¤Î¥·¥°¥Ê¥ë̾¤Èû¤¤Ê¸½ñ¤Ë¤è¤ëµ­½Ò¤Ç¤¢¤ë¡£
+の復帰値に加わっても構わない。オプションの5つめの要素は、情報クラスの
+識別子である。今のところ、この要素の唯一可能な値は CHILDKILLED で、
+その場合、次の二つの値が C スタイルのシグナル名と短い文書による記述である。
 .IP
 .\"O The
 .\"O .B \-i
@@ -3872,14 +3872,14 @@ disconnect 
 .\"O successful wait.  When the process exits (later), it will automatically
 .\"O disappear without the need for an explicit wait.
 .B \-i
-¥Õ¥é¥°¤Ë¤è¤Ã¤Æ¡¢wait ¤ò¹Ô¤Ê¤¦Ì¾Á°ÉÕ¤­ spawn_id(¥×¥í¥»¥¹ ID ¤Ç¤Ï¤Ê¤¯)¤ò
-»ØÄꤹ¤ë¡£SIGCHLD ¥Ï¥ó¥É¥é¤ÎÆâÉô¤Ç¤Ï¡¢spawn ID -1 ¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¢
-spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Î¤¤¤º¤ì¤«¤ò wait ¤Ç¤­¤ë¡£
+フラグによって、wait を行なう名前付き spawn_id(プロセス ID ではなく)を
+指定する。SIGCHLD ハンドラの内部では、spawn ID -1 を指定することで、
+spawn されたプロセスのいずれかを wait できる。
 
 .B \-nowait
-¥Õ¥é¥°¤ò»ØÄꤹ¤ë¤È¡¢wait ¤¬À®¸ù¤ÎÉüµ¢ÃͤǨ»þÉüµ¢¤¹¤ë¡£
-(¤¢¤È¤Ç)¤½¤Î¥×¥í¥»¥¹¤¬ exit ¤¹¤ë¤È¡¢¼«Æ°Åª¤Ë¸å»ÏËö¤¬¹Ô¤Ê¤ï¤ì¡¢ÌÀ¼¨Åª¤Ë
-wait ¤¹¤ëɬÍפ¬¤Ê¤¤¡£
+フラグを指定すると、wait が成功の復帰値で即時復帰する。
+(あとで)そのプロセスが exit すると、自動的に後始末が行なわれ、明示的に
+wait する必要がない。
 
 .\"O The
 .\"O .B wait
@@ -3888,15 +3888,15 @@ wait 
 .\"O executed at any time.  There is no control over which process is
 .\"O reaped.  However, the return value can be checked for the process id.
 .B wait
-¥³¥Þ¥ó¥É¤Ï¡¢°ú¿ô¤Ë "-i -1" ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
-fork ¤·¤¿¥×¥í¥»¥¹¤òÂԤĤ¿¤á¤Ë¤â»È¤ï¤ì¤ë¡£
-spawn ¤·¤¿¥×¥í¥»¥¹¤ËÍѤ¤¤é¤ì¤ë¾ì¹ç¤È°Û¤Ê¤ê¡¢
-¤³¤Î¥³¥Þ¥ó¥É¤Ï¤¤¤Ä¤Ç¤â¼Â¹Ô¤Ç¤­¤ë¡£
-¤É¤Î¥×¥í¥»¥¹¤òÂԤĤ«¤òÀ©¸æ¤¹¤ë¤³¤È¤Ï½ÐÍè¤Ê¤¤¤¬¡¢
-ÊÖ¤êÃÍ¤Ï¥×¥í¥»¥¹ ID ¤È¤·¤Æ¥Á¥§¥Ã¥¯¤Ç¤­¤ë¡£
+コマンドは、引数に "-i -1" を指定することによって、
+fork したプロセスを待つためにも使われる。
+spawn したプロセスに用いられる場合と異なり、
+このコマンドはいつでも実行できる。
+どのプロセスを待つかを制御することは出来ないが、
+返り値はプロセス ID としてチェックできる。
 
 .\"O .SH LIBRARIES
-.SH ¥é¥¤¥Ö¥é¥ê
+.SH ライブラリ
 .\"O Expect automatically knows about two built-in libraries for Expect scripts.
 .\"O These are defined by the directories named in the variables
 .\"O exp_library and exp_exec_library.  Both are meant to contain utility
@@ -3908,19 +3908,19 @@ spawn 
 .\"O $exp_exec_library/cat-buffers describes whether your /bin/cat buffers
 .\"O by default.
 .\"O
-Expect ¤Ï¡¢¥¹¥¯¥ê¥×¥È¤Î¤¿¤á¤ÎÆó¤Ä¤Î¥Ó¥ë¥È¥¤¥ó¥é¥¤¥Ö¥é¥ê¤ò¼«Æ°Åª¤ËÍý²ò¤¹¤ë¡£
-¤½¤ì¤é¤ÏÊÑ¿ô exp_library ¤ÈÊÑ¿ô exp_exec_library ¤ËÀßÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê̾¤È
-¤·¤ÆÄêµÁ¤µ¤ì¤ë¡£¤³¤ì¤é¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤Ï¡¢Â¾¤Î¥¹¥¯¥ê¥×¥È¤Ë¤è¤Ã¤Æ»È¤¨¤ë
-¥æ¡¼¥Æ¥£¥ê¥Æ¥£¥Õ¥¡¥¤¥ë¤¬Æþ¤Ã¤Æ¤¤¤ë¡£
+Expect は、スクリプトのための二つのビルトインライブラリを自動的に理解する。
+それらは変数 exp_library と変数 exp_exec_library に設定されたディレクトリ名と
+して定義される。これらのディレクトリには、他のスクリプトによって使える
+ユーティリティファイルが入っている。
 
-exp_library ¤Ë¤Ï¡¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë°Í¸¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤ë¡£
-exp_exec_library ¤Ë¤Ï¡¢¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ë°Í¸¤¹¤ë¥Õ¥¡¥¤¥ë¤¬³ÊǼ¤µ¤ì¤ë¡£
-¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¤Ï¡¢Î¾Êý¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¶õ¤È¤¤¤¦¾ì¹ç¤â¤¢¤êÆÀ¤ë¡£
-¥Õ¥¡¥¤¥ë $exp_exec_library/cat-buffers ¤Î¸ºß¤Ï¡¢¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤Î
-/bin/cat ¤¬¥Ç¥Õ¥©¥ë¥È¤Ç¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤µ¤ì¤Æ¤¤¤ë¤«¤É¤¦¤«¤Ëº¸±¦¤µ¤ì¤ë¡£
+exp_library には、アーキテクチャに依存しないファイルが格納される。
+exp_exec_library には、アーキテクチャに依存するファイルが格納される。
+あなたのシステムによっては、両方のディレクトリが空という場合もあり得る。
+ファイル $exp_exec_library/cat-buffers の存在は、あなたのシステムの
+/bin/cat がデフォルトでバッファリングされているかどうかに左右される。
 
 .\"O .SH PRETTY-PRINTING
-.SH À°·Á°õºþ
+.SH 整形印刷
 .\"O A vgrind definition is available for pretty-printing
 .\"O .B Expect
 .\"O scripts.
@@ -3935,10 +3935,10 @@ exp_exec_library 
 .\"O .fi
 .\"O
 .B Expect
-¥¹¥¯¥ê¥×¥È¤ò¤­¤ì¤¤¤Ë°õºþ¤¹¤ë¤¿¤á¤Î vgrind ¤ÎÄêµÁ¤¬¤¢¤ë¡£
+スクリプトをきれいに印刷するための vgrind の定義がある。
 .B Expect
-¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤È°ì½ï¤ËÇÛÉÛ¤µ¤ì¤Æ¤¤¤ë vgrind ÄêµÁ¤¬Àµ¤·¤¯
-¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤È²¾Äꤷ¤Æ¡¢¤³¤¦¤¹¤ì¤Ð»È¤¨¤ë¡£
+ディストリビューションと一緒に配布されている vgrind 定義が正しく
+インストールされていると仮定して、こうすれば使える。
 .nf
 
     vgrind \-lexpect file
@@ -3946,7 +3946,7 @@ exp_exec_library 
 .fi
 
 .\"O .SH EXAMPLES
-.SH Îã
+.SH 
 .\"O It many not be apparent how to put everything together that the man page
 .\"O describes.  I encourage you to read and try out the examples in
 .\"O the example directory of the
@@ -3955,14 +3955,14 @@ exp_exec_library 
 .\"O Some of them are real programs.  Others are simply illustrative
 .\"O of certain techniques, and of course, a couple are just quick hacks.
 .\"O The INSTALL file has a quick overview of these programs.
-¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ë¤è¤ëµ­½Ò¤Ç¤Ï¡¢¤¢¤é¤æ¤ë¤â¤Î¤ò¤É¤¦ÁȤ߹ç¤ï¤»¤ë¤Î¤«¤È
-¤¤¤¦¤³¤È¤¬ÌÀÇò¤Ç¤Ï¤Ê¤¤¡£»ä¤È¤·¤Æ¤Ï¡¢
+マニュアルページによる記述では、あらゆるものをどう組み合わせるのかと
+いうことが明白ではない。私としては、
 .B Expect
-¥Ç¥£¥¹¥È¥ê¥Ó¥å¡¼¥·¥ç¥ó¤Î
-example ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ëÎã¤òÆɤó¤Ç»î¤·¤Æ¤ß¤ÆÍߤ·¤¤¤È»×¤¦¡£
-¤¤¤¯¤Ä¤«¤ÏËÜʪ¤Î¥×¥í¥°¥é¥à¤Ç¤¢¤ë¡£¤½¤ì°Ê³°¤ÏÆÃÄê¤Î¥Æ¥¯¥Ë¥Ã¥¯¤Îñ½ã¤Ê²òÀâ¡¢
-¤¢¤È¡¢¤â¤Á¤í¤ó¡¢Ã±¤Ê¤ë¥¯¥¤¥Ã¥¯¥Ï¥Ã¥¯¤¬¾¯¤·¤¢¤ë¡£
-INSTALL ¥Õ¥¡¥¤¥ë¤Ë¤Ï¤³¤ì¤é¤Î¥×¥í¥°¥é¥à¤Î´Êñ¤Ê¹¼³µ¤¬½ñ¤«¤ì¤Æ¤¤¤ë¡£
+ディストリビューションの
+example ディレクトリにある例を読んで試してみて欲しいと思う。
+いくつかは本物のプログラムである。それ以外は特定のテクニックの単純な解説、
+あと、もちろん、単なるクイックハックが少しある。
+INSTALL ファイルにはこれらのプログラムの簡単な梗概が書かれている。
 .PP
 .\"O The
 .\"O .B Expect
@@ -3971,12 +3971,12 @@ INSTALL 
 .\"O rationales are still valid and go into a lot more detail than this
 .\"O man page.
 .B Expect
-¤ÎÏÀʸ¤âÌò¤ËΩ¤Ä(´ØÏ¢¹àÌÜ»²¾È)¡£¤¤¤¯¤Ä¤«¤Ï¡¢½é´ü¥Ð¡¼¥¸¥ç¥ó¤Î Expect ¤Î
-ʸˡ¤ò»È¤Ã¤Æ¤¤¤ë¤¬¡¢¤½¤ì¤È¤È¤â¤Ë¤¢¤ëº¬ËÜŪ¤Ê¹Í¤¨¤Ï¡¢¤Ê¤ªÍ­¸ú¤Ç¤¢¤ê¡¢
-¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤è¤ê¾ÜºÙ¤Ë½ñ¤«¤ì¤Æ¤¤¤ë¡£
+の論文も役に立つ(関連項目参照)。いくつかは、初期バージョンの Expect の
+文法を使っているが、それとともにある根本的な考えは、なお有効であり、
+このマニュアルページより詳細に書かれている。
 
 .\"O .SH CAVEATS
-.SH ·Ù¹ð
+.SH 警告
 .\"O Extensions may collide with Expect's command names.  For example, 
 .\"O .B send
 .\"O is defined by Tk for an entirely different purpose.
@@ -4030,59 +4030,59 @@ INSTALL 
 .\"O scripts for such environments.  In the case of emacs, avoid depending
 .\"O upon things like echoing and end-of-line mappings.
 .\"O 
-³ÈÄ¥¤Ï Expect ¤Î¥³¥Þ¥ó¥É̾¤È¾×Æͤ¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£Î㤨¤Ð¡¢
+拡張は Expect のコマンド名と衝突するかもしれない。例えば、
 .B send
-¤Ï¡¢Tk ¤Ç¤ÏÁ´¤¯Ê̤ÎÌÜŪ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
-¤½¤¦¤¤¤¦Íýͳ¤Ç¡¢¤Û¤È¤ó¤É¤Î
+は、Tk では全く別の目的で定義されている。
+そういう理由で、ほとんどの
 .B Expect
-¥³¥Þ¥ó¥É¤Ï¡¢"exp_XXXX" ¤È¤¤¤¦ Ê̤ε­Ë¡(¥¨¥¤¥ê¥¢¥¹)¤â¥µ¥Ý¡¼¥È¤¹¤ë¡£
-"exp", "inter", "spawn", "timeout" ¤Ç»Ï¤Þ¤ë¥³¥Þ¥ó¥É¤ÈÊÑ¿ô¤Ï¡¢
-¥¨¥¤¥ê¥¢¥¹¤ò»ý¤¿¤Ê¤¤¡£
-¤³¤Î´Ä¶­´Ö¤Î¸ß´¹À­¤¬É¬ÍפǤ¢¤ì¤Ð¡¢³ÈÄ¥¤µ¤ì¤¿¥³¥Þ¥ó¥É̾¤òÍѤ¤¤ë¤³¤È¡£
+コマンドは、"exp_XXXX" という 別の記法(エイリアス)もサポートする。
+"exp", "inter", "spawn", "timeout" で始まるコマンドと変数は、
+エイリアスを持たない。
+この環境間の互換性が必要であれば、拡張されたコマンド名を用いること。
 
 .B Expect
-¤Ï¡¢¤«¤Ê¤ê¼«Í³¤Ê¥¹¥³¡¼¥×¤ò»ý¤Ã¤Æ¤¤¤ë¡£Æäˡ¢
+は、かなり自由なスコープを持っている。特に、
 .B Expect
-¥×¥í¥°¥é¥à¤Ç»ØÄꤷ¤¿¥³¥Þ¥ó¥É¤Ë¤è¤êÆɤ߹þ¤Þ¤»¤ëÊÑ¿ô¤Ï¡¢¤½¤Î¥í¡¼¥«¥ë¥¹¥³¡¼¥×
-Æâ¤Ç¤Þ¤ºÃµº÷¤µ¤ì¡¢¸«¤Ä¤«¤é¤Ê¤±¤ì¤Ð¡¢¥°¥í¡¼¥Ð¥ë¥¹¥³¡¼¥×¤Çõº÷¤µ¤ì¤ë¡£
-Î㤨¤Ð¡¢¤³¤¦¤¹¤ë¤³¤È¤Ç
+プログラムで指定したコマンドにより読み込ませる変数は、そのローカルスコープ
+内でまず探索され、見つからなければ、グローバルスコープで探索される。
+例えば、こうすることで
 .BR expect
-¤ò»È¤¦Á´¤Æ¤Î¥×¥í¥·¥¸¥ã¤Ë "global timeout" ¤ò½ñ¤¯É¬Íפ¬
-¤Ê¤¯¤Ê¤ë¡£
-µÕ¤Ë¡¢¥×¥í¥·¥¸¥ãÆâ¤Ë½ñ¤«¤ì¤¿ÊÑ¿ô¤ÏÁ´¤Æ¥í¡¼¥«¥ë¥¹¥³¡¼¥×Æâ¤ËÀßÄꤵ¤ì¤ë¡£
-("global"¥³¥Þ¥ó¥É¤ò»ØÄꤷ¤Ê¤¤¸Â¤ê¤Ï)¡£¤³¤ÎÆ°ºî¤¬°ú¤­µ¯¤³¤¹¤â¤Ã¤È¤â¶¦Ä̤·¤¿
-ÌäÂê¤Ï¡¢spawn ¤¬¥×¥í¥·¥¸¥ãÆâ¤Ç¼Â¹Ô¤µ¤ì¤¿»þ¤Ç¤¢¤ë¡£¥×¥í¥·¥¸¥ã¤Î³°¤Ç¤Ï¡¢
+を使う全てのプロシジャに "global timeout" を書く必要が
+なくなる。
+逆に、プロシジャ内に書かれた変数は全てローカルスコープ内に設定される。
+("global"コマンドを指定しない限りは)。この動作が引き起こすもっとも共通した
+問題は、spawn がプロシジャ内で実行された時である。プロシジャの外では、
 .I spawn_id
-¤Ï¥¹¥³¡¼¥×¤Î¤¿¤á¡¢¤â¤Ï¤ä¸ºß¤·¤Ê¤¤¤Î¤Ç spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤Ïñ½ã¤Ë¤Ï
-¥¢¥¯¥»¥¹ÉÔǽ¤È¤Ê¤ë¡£¤½¤Î¤è¤¦¤Ê¥×¥í¥»¥¹¤Ë¤Ï¡¢"global spawn_id"¤ò
-ÉÕ¤±²Ã¤¨¤Í¤Ð¤Ê¤é¤Ê¤¤¡£
+はスコープのため、もはや存在しないので spawn されたプロセスは単純には
+アクセス不能となる。そのようなプロセスには、"global spawn_id"を
+付け加えねばならない。
 
-multi-spawn µ¡Ç½¤¬»È¤¨¤Ê¤¤(¤Ä¤Þ¤ê¡¢¤¢¤Ê¤¿¤Î¥·¥¹¥Æ¥à¤¬
-select (BSD *.*), poll (SVR>2),¤Þ¤¿¤Ï¡¢¤½¤ì¤ÈÅù²Á¤Ê¤â¤Î ¤Î¤¤¤º¤ì¤â
-¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤)¾ì¹ç¡¢
+multi-spawn 機能が使えない(つまり、あなたのシステムが
+select (BSD *.*), poll (SVR>2),または、それと等価なもの のいずれも
+サポートしていない)場合、
 .B Expect
-¤Ï¡¢Æ±»þ¤Ë 1 ¥×¥í¥»¥¹¤·¤«À©¸æ¤Ç¤­¤Ê¤¤¡£
-¤³¤Î¾ì¹ç¡¢
+は、同時に 1 プロセスしか制御できない。
+この場合、
 .IR spawn_id
-¤ò̵Íý¤ËÀßÄꤷ¤¿¤ê¡¢spawn ¤µ¤ì¤¿¥×¥í¥»¥¹¤¬Áö¤Ã¤Æ¤¤¤ë´Ö¤Ë exec ¤ò»È¤Ã¤Æ
-¥×¥í¥»¥¹¤ò¼Â¹Ô¤·¤¿¤ê¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤µ¤é¤Ë¡¢Ê£¿ô¤Î¥×¥í¥»¥¹(ÊÒÊý¤¬
-¥æ¡¼¥¶¡¼¤Ç¤â)¤«¤éƱ»þ¤Ë
+を無理に設定したり、spawn されたプロセスが走っている間に exec を使って
+プロセスを実行したりしてはならない。さらに、複数のプロセス(片方が
+ユーザーでも)から同時に
 .B expect
-¤¹¤ë¤³¤È¤â¤Ç¤­¤Ê¤¤¡£
-
-üËöÀ©¸æ¥Ñ¥é¥á¥¿¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ËÂ礭¤Ê±Æ¶Á¤òÍ¿¤¨¤ë¡£Î㤨¤Ð¡¢
-¥¹¥¯¥ê¥×¥È¤¬¥¨¥³¡¼¤òõ¤¹¤è¤¦¤Ë½ñ¤«¤ì¤Æ¤¤¤ì¤Ð¡¢¥¨¥³¡¼¤ò¥ª¥Õ¤Ë¤¹¤ë¤È
-Æ°ºî¤¬¤ª¤«¤·¤¯¤Ê¤ë¡£¤³¤ÎÍýͳ¤Ç¡¢Expect ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç Àµµ¤¤Î
-üËö¥Ñ¥é¥á¥¿¤òÀßÄꤹ¤ë¡£ÉÔ¹¬¤Ê¤³¤È¤Ë¡¢¤³¤ÎÀßÄ꤬¾¤Î¥×¥í¥°¥é¥à¤Ç¤Ï¤Þ¤º¤¤
-¾ì¹ç¤¬¤¢¤ë¡£Î㤨¤Ð¡¢emacs ¥·¥§¥ë¤Ï"Ä̾ï¤Î"¥Þ¥Ã¥Ô¥ó¥°¤òÊѹ¹¤·¤è¤¦¤È¤¹¤ë¡£
-: newlines¤Ï¡¢carriage-return newlines ¤ËÊÑ´¹¤µ¤ì¤º newlines ¤Ë¥Þ¥Ã¥×¤µ¤ì¤ë¡£
-¤½¤·¤Æ¡¢¥¨¥³¡¼¤Ï¹Ô¤Ê¤ï¤ì¤Ê¤¤¡£¤³¤¦¥Þ¥Ã¥×¤µ¤ì¤ë¤³¤È¤Ç¡¢emacs ¤ÏÆþÎϹԤò
-ÊÔ½¸¤Ç¤­¤ë¡£»ÄÇ°¤Ê¤¬¤é¡¢Expect ¤Ï¤³¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¸¡½Ð¤Ç¤­¤Ê¤¤¡£
-
-Expect ¤¬Ã¼Ëö¥Ñ¥é¥á¥¿¤Î¥Ç¥Õ¥©¥ë¥ÈÀßÄê¤ò¾å½ñ¤­¤·¤Ê¤¤¤è¤¦¤Ë»ØÄꤹ¤ë¤³¤È¤¬
-¤Ç¤­¤ë¤¬¡¢¤½¤¦¤¤¤Ã¤¿´Ä¶­¤ÇÆ°¤«¤¹¥¹¥¯¥ê¥×¥È¤ò½ñ¤¯¤È¤­¤ÏºÙ¿´¤ÎÃí°Õ¤¬
-ɬÍפǤ¢¤ë¡£emacs ¤Î¾ì¹ç¡¢¥¨¥³¡¼¤ä²þ¹Ô¥³¡¼¥É¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò²óÈò¤·¤Ê¤±¤ì¤Ð
-¤Ê¤é¤Ê¤¤¡£
+することもできない。
+
+端末制御パラメタは、スクリプトに大きな影響を与える。例えば、
+スクリプトがエコーを探すように書かれていれば、エコーをオフにすると
+動作がおかしくなる。この理由で、Expect はデフォルトで 正気の
+端末パラメタを設定する。不幸なことに、この設定が他のプログラムではまずい
+場合がある。例えば、emacs シェルは"通常の"マッピングを変更しようとする。
+: newlinesは、carriage-return newlines に変換されず newlines にマップされる。
+そして、エコーは行なわれない。こうマップされることで、emacs は入力行を
+編集できる。残念ながら、Expect はこのマッピングを検出できない。
+
+Expect が端末パラメタのデフォルト設定を上書きしないように指定することが
+できるが、そういった環境で動かすスクリプトを書くときは細心の注意が
+必要である。emacs の場合、エコーや改行コードのマッピングを回避しなければ
+ならない。
 
 .\"O The commands that accepted arguments braced into a single list (the
 .\"O .B expect
@@ -4098,24 +4098,24 @@ Expect 
 .\"O -brace forces a single argument to be handle as multiple patterns/actions.
 (
 .B expect
-¤È¤½¤ÎÊѼ¤ª¤è¤Ó¡¢
+とその変種、および、
 .BR interact
-¤È¤¤¤Ã¤¿)1 ¤Ä¤Î¥ê¥¹¥È¤Ë¥Ö¥ì¡¼¥¹¤µ¤ì¤¿°ú¿ô¤ò¼õ¤±¤È¤ë¥³¥Þ¥ó¥É¤Ï¡¢
-¥ê¥¹¥È¤¬°ú¿ô¤ò¤É¤ì¤À¤±»ý¤Ã¤Æ¤¤¤ë¤Î¤«¤òȽÃǤ¹¤ë¤Î¤Ë¡¢È¯¸«Åª¼êË¡¤òÍѤ¤¤ë¡£
-¤½¤Îȯ¸«Åª¼êË¡¤Ï¤¬¼ºÇÔ¤¹¤ëÍ£°ì¤Î¾ì¹ç¤Ï¡¢°ú¿ô¤Î°ì¤Ä¤ËÊ£¿ô¤Î\\n¤¬Ëä¤á¹þ¤Þ¤ì¡¢
-¤½¤Î´Ö¤Ë¥Û¥ï¥¤¥È¥¹¥Ú¡¼¥¹¤¬¤Ê¤¤¾ì¹ç¤Ç¤¢¤ë¡£¤³¤ì¤Ï½½Ê¬¸¡½ÐÉÔǽ¤Ê¾õÂÖ¤À¤¬¡¢
-°ú¿ô"\-nobrace" ¤Ç¡¢¶¯À©Åª¤Ë°ì¤Ä¤Î°ú¿ô¤È¤·¤Æ°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£
-¼«Æ°Åª¤ËÀ¸À®¤µ¤ì¤¿ Expect ¥³¡¼¥ÉÃæ¤Ç»È¤ï¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
-ƱÍͤˡ¢-brace ¤ÏÊ£¿ô¤Î¥Ñ¥¿¡¼¥ó/¥¢¥¯¥·¥ç¥ó¤ò¤Ò¤È¤Ä¤Î°ú¿ô¤È¤·¤Æ°·¤¦¤³¤È¤ò
-¶¯À©¤¹¤ë¡£
+といった)1 つのリストにブレースされた引数を受けとるコマンドは、
+リストが引数をどれだけ持っているのかを判断するのに、発見的手法を用いる。
+その発見的手法はが失敗する唯一の場合は、引数の一つに複数の\\nが埋め込まれ、
+その間にホワイトスペースがない場合である。これは十分検出不能な状態だが、
+引数"\-nobrace" で、強制的に一つの引数として扱うことができる。
+自動的に生成された Expect コード中で使われるかもしれない。
+同様に、-brace は複数のパターン/アクションをひとつの引数として扱うことを
+強制する。
 
 .\"O .SH BUGS
-.SH ¥Ð¥°
+.SH ã\83\90ã\82°
 .\"O It was really tempting to name the program "sex" (for either "Smart EXec"
 .\"O or "Send-EXpect"), but good sense (or perhaps just Puritanism) prevailed.
-¥×¥í¥°¥é¥à¤Ë "sex" ("Smart EXec" ¤« "Send-EXpect" ¤Îά) ¤È¤¤¤¦Ì¾Á°¤ò
-¤Ä¤±¤ë¤Î¤Ï¼Â¤ËÌ¥ÎÏŪ¤À¤Ã¤¿¤Î¤À¤¬¡¢¥»¥ó¥¹¤ÎÎɤ¤Êý(¤¢¤ë¤¤¤Ï¡¢
-ñ¤Ë¥Ô¥å¡¼¥ê¥¿¥Ë¥º¥à)¤¬Í¥À褵¤ì¤¿¡£
+プログラムに "sex" ("Smart EXec" か "Send-EXpect" の略) という名前を
+つけるのは実に魅力的だったのだが、センスの良い方(あるいは、
+単にピューリタニズム)が優先された。
 
 .\"O On some systems, when a shell is spawned, it complains about not being
 .\"O able to access the tty but runs anyway.  This means your system has a
@@ -4123,12 +4123,12 @@ Expect 
 .\"O .B Expect
 .\"O doesn't know about.  Please find out what it is, and send this information
 .\"O back to me.
-¥·¥§¥ë¤¬ spawn ¤µ¤ì¤ë¤Ètty¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤¤Èʸ¶ç¤ò¤¤¤Ã¤Æ¡¢¤·¤«¤·¡¢Æ°ºî¤Ï¤¹¤ë
-¤È¤¤¤¦¥·¥¹¥Æ¥à¤¬¤¢¤ë¡£¤³¤ì¤Ï¡¢¤³¤Î¥·¥¹¥Æ¥à¤¬ttyÀ©¸æ¤òÆÀ¤ë¤¿¤á¤Îµ¡¹½¤ò
-»ý¤Ã¤Æ¤¤¤ë¤¬
+シェルが spawn されるとttyにアクセスできないと文句をいって、しかし、動作はする
+というシステムがある。これは、このシステムがtty制御を得るための機構を
+持っているが
 .B Expect
-¤Ï¤½¤ì¤òÃΤé¤Ê¤¤¤È¤¤¤¦°ÕÌ£¤Ç¤¢¤ë¡£¤É¤¦¤¤¤¦»ÅÁȤߤ«Ä´¤Ù¤Æ¡¢¤½¤Î¾ðÊó¤ò»ä¤Ë
-ÃΤ餻¤Æ¤Û¤·¤¤¡£
+はそれを知らないという意味である。どういう仕組みか調べて、その情報を私に
+知らせてほしい。
 
 .\"O Ultrix 4.1 (at least the latest versions around here) considers
 .\"O timeouts of above 1000000 to be equivalent to 0.
@@ -4139,28 +4139,28 @@ Expect 
 .\"O IRIX 6.0 does not handle pty permissions correctly so that if Expect
 .\"O attempts to allocate a pty previously used by someone else, it fails.
 .\"O Upgrade to IRIX 6.1.
-Ultrix 4.1 (¾¯¤Ê¤¯¤È¤âºÇ¿·¥Ð¡¼¥¸¥ç¥ó¤Î¤¢¤¿¤ê) ¤Ç¤Ï¡¢
-1000000 ¤òĶ¤¨¤ë¥¿¥¤¥à¥¢¥¦¥È¤ò 0 ¤È¤ß¤Ê¤·¤Æ¤·¤Þ¤¦¡£
+Ultrix 4.1 (少なくとも最新バージョンのあたり) では、
+1000000 を超えるタイムアウトを 0 とみなしてしまう。
 
-Digital UNIX 4.0A (¤ª¤½¤é¤¯Â¾¤Î¥Ð¡¼¥¸¥ç¥ó¤â)¤Ï SIGCHLD ¥Ï¥ó¥É¥é¤ò
-ÄêµÁ¤¹¤ë¤È¡¢pty ¤Î³ä¤êÉÕ¤±¤òµñÈݤ¹¤ë¡£¾ÜºÙ¤Ï grantpt ¥Ú¡¼¥¸¤ò»²¾È¤Î¤³¤È¡£
+Digital UNIX 4.0A (おそらく他のバージョンも)は SIGCHLD ハンドラを
+定義すると、pty の割り付けを拒否する。詳細は grantpt ページを参照のこと。
 
-IRIX 6.0 ¤Ï¡¢pty ¤Ø¤Î¥¢¥¯¥»¥¹À©¸æ¤òÀµ³Î¤Ë°·¤¨¤Ê¤¤¡£¤½¤ì¤Ç¡¢
-Expect ¤Ï¡¢pty ¤¬¥¢¥í¥±¡¼¥È¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢Â¾¤Î¿Í¤¬Á°¤Ë»È¤Ã¤¿ pty ¤Î
-¥¢¥í¥±¡¼¥È¤ò»î¤ß¤ë¡£
-IRIX 6.1 ¤Ë¥¢¥Ã¥×¥°¥ì¡¼¥É¤¹¤ë¤³¤È¡£
+IRIX 6.0 は、pty へのアクセス制御を正確に扱えない。それで、
+Expect は、pty がアロケートできない場合は、他の人が前に使った pty の
+アロケートを試みる。
+IRIX 6.1 にアップグレードすること。
 
 .\"O Telnet (verified only under SunOS 4.1.2) hangs if TERM is not set.
 .\"O This is a problem under cron, at and in cgi scripts, which do not
 .\"O define TERM.  Thus, you must set it explicitly - to what type is
 .\"O usually irrelevant.  It just has to be set to something!  The
 .\"O following probably suffices for most cases.
-telnet (SunOS 4.1.2 ¤Ç¤Î¤ß³Îǧ)¤Ï¡¢TERM ¤¬ÀßÄꤵ¤ì¤Æ¤Ê¤¤¤È
-¥Ï¥ó¥°¤¹¤ë¡£¤³¤ÎÌäÂê¤Ï cron ¤ä at ¤ä CGI ¥¹¥¯¥ê¥×¥È¤Ç»È¤¦»þ¤ËÌäÂê¤À
-(ÀßÄꤷ¤Ê¤¤¤Î¤Ç)¡£¤½¤ì¤Ç¡¢
-ÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤ - ËÜÅö¤Î¥¿¥¤¥×¤ÏÄ̾ï´Ø·¸¤Ê¤¤¡£
-²¿¤«¤ËÀßÄꤷ¤Æ¤Ê¤¤¤ÈÂÌÌܤʤΤÀ! °Ê²¼¤Îµ­½Ò¤Ï¤ª¤½¤é¤¯¤Û¤È¤ó¤É¤Î¾ì¹ç¤ò
-Ëþ­¤µ¤»¤ë¤À¤í¤¦¡£
+telnet (SunOS 4.1.2 でのみ確認)は、TERM が設定されてないと
+ハングする。この問題は cron や at や CGI スクリプトで使う時に問題だ
+(設定しないので)。それで、
+明示的に指定しなくてはならない - 本当のタイプは通常関係ない。
+何かに設定してないと駄目なのだ! 以下の記述はおそらくほとんどの場合を
+満足させるだろう。
 .nf
 
     set env(TERM) vt100
@@ -4172,12 +4172,12 @@ telnet (SunOS 4.1.2 
 .\"O which do not define these environment variables.  Thus, you must set
 .\"O them explicitly - to what type is usually irrelevant.  It just has to
 .\"O be set to something!  The following probably suffices for most cases.
-tipt (BSDI BSD/OS 3.1 i386 ¤Ç¤Î¤ß³Îǧ)¤Ï¡¢SHELL ¤È HOME ¤¬ÀßÄꤵ¤ì¤Æ¤Ê¤¤¤È
-¥Ï¥ó¥°¤¹¤ë¡£¤³¤ÎÌäÂê¤Ï cron ¤ä at ¤ä CGI ¥¹¥¯¥ê¥×¥È¤Ç»È¤¦»þ¤ËÌäÂê¤À
-(ÀßÄꤷ¤Ê¤¤¤Î¤Ç)¡£¤½¤ì¤Ç¡¢
-ÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤ - ËÜÅö¤Î¥¿¥¤¥×¤ÏÄ̾ï´Ø·¸¤Ê¤¤¡£
-²¿¤«¤ËÀßÄꤷ¤Æ¤Ê¤¤¤ÈÂÌÌܤʤΤÀ! °Ê²¼¤Îµ­½Ò¤Ï¤ª¤½¤é¤¯¤Û¤È¤ó¤É¤Î¾ì¹ç¤ò
-Ëþ­¤µ¤»¤ë¤À¤í¤¦¡£
+tipt (BSDI BSD/OS 3.1 i386 でのみ確認)は、SHELL と HOME が設定されてないと
+ハングする。この問題は cron や at や CGI スクリプトで使う時に問題だ
+(設定しないので)。それで、
+明示的に指定しなくてはならない - 本当のタイプは通常関係ない。
+何かに設定してないと駄目なのだ! 以下の記述はおそらくほとんどの場合を
+満足させるだろう。
 .nf
 
     set env(SHELL) /bin/sh
@@ -4228,9 +4228,9 @@ tipt (BSDI BSD/OS 3.1 i386 
 .\"O 
 .\"O .fi
 .\"O
-pty ¤Î¥¤¥ó¥×¥ê¥á¥ó¥È¤ÎÃæ¤Ë¤Ï¡¢¥×¥í¥»¥¹¤¬¥Õ¥¡¥¤¥ëµ­½Ò»Ò¤ò¥¯¥í¡¼¥º¤·¤¿¸å¡¢
-Æɤó¤Ç¤Ê¤¤½ÐÎϤò 10 ¤«¤é 15 Éøå(¤³¤ÎÃͤϥ¤¥ó¥×¥ê¥á¥ó¥È¤Ë°Í¸)¤ËÅꤲ¤Æ¤¯¤ë
-¤â¤Î¤¬¤¢¤ë¡£¤½¤ì¤æ¤¨¡¢
+pty のインプリメントの中には、プロセスがファイル記述子をクローズした後、
+読んでない出力を 10 から 15 秒後(この値はインプリメントに依存)に投げてくる
+ものがある。それゆえ、
 .nf
 
     spawn date
@@ -4238,25 +4238,25 @@ pty 
     expect
 
 .fi
-¤Î¤è¤¦¤Ê
+のような
 .B Expect
-¥×¥í¥°¥é¥à¤Ï¼ºÇÔ¤¹¤ë¡£¼ºÇÔ¤·¤Ê¤¤¤è¤¦¤ËÈóÂÐÏÃŪ¤Ê¥×¥í¥°¥é¥à¤Ç¤Ï
+プログラムは失敗する。失敗しないように非対話的なプログラムでは
 .BR spawn
-¤»¤º¤Ë
+せずに
 .B exec
-¤¹¤ë¤³¤È¡£¤³¤¦¤¤¤¦¾õ¶·¤Ï¹Í¤¨¤é¤ì¤ë¤¬¡¢¼ÂºÝ¤Ë¤Ï»ä¤Ï¤Þ¤À¤½¤Î¾õÂÖ¤Ë
-´Ù¤Ã¤¿¤³¤È¤¬¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¤³¤Î¸¶°ø¤ÇÂÐÏÃ¥×¥í¥°¥é¥à¤ÎºÇ¸å¤Î½ÐÎϤò
-¼è¤ê¤³¤Ü¤¹¤È¤¤¤¦¾õÂ֤ˤʤ俤³¤È¤¬¤Ê¤¤¡£
-
-°ìÊý¡¢Cray UNICOS ¤Î pty ¤ÏÆɤ߹þ¤ó¤Ç¤¤¤Ê¤¤½ÐÎϤò¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò
-¥×¥í¥»¥¹¤¬ÊĤ¸¤ë¤È¤¹¤°¤ËÅꤲ¤Æ¤¯¤ë¡£»ä¤Ï Cray ¤Ë¤³¤ÎÆ°¤­¤Ë¤Ä¤¤¤ÆÊó¹ð¤·¡¢
-²óÈò¤¹¤ë¤¿¤á¤Î½¤Àµ¤ò¹Ô¤Ê¤Ã¤¿¡£
-
-¥×¥í¥ó¥×¥È¤È±þÅú¤Î´Ö¤Ë¥Ç¥£¥ì¥¤¤¬É¬Íפʾì¹ç¤¬¤¢¤ë¡£tty ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬
-UART ¤ÎÀßÄê¤òÊѤ¨¤¿¤ê¡¢¥¹¥¿¡¼¥È/¥¹¥È¥Ã¥×¥Ó¥Ã¥È¤òõ¤·¤Æ¥Ü¡¼¥ì¡¼¥È¤ò¹ç¤ï¤»¤Æ
-¤¤¤ë»þ¤Ê¤É¤Ç¤¢¤ë¡£Ä̾¤³¤³¤ÇɬÍפȤµ¤ì¤Æ¤¤¤ë¤â¤Î¤Ï 1 Éä« 2 ÉäÎÂÔ¤Á¹ç¤ï¤»¤Ç¤¢¤ë¡£
-¤â¤Ã¤È¤·¤Ã¤«¤ê¤·¤¿¤ä¤êÊý¤Ï¥Ï¡¼¥É¥¦¥§¥¢¤¬ÆþÎϤò¼õ¤±¤ë½àÈ÷¤¬¤Ç¤­¤ë¤Þ¤Ç·«¤êÊÖ¤¹
-¤³¤È¤Ç¤¢¤ë¡£°Ê²¼¤ÎÎã¤Ï¡¢Î¾Êý¤ÎÀïά¤òºÎÍѤ·¤Æ¤¤¤ë¡£:
+すること。こういう状況は考えられるが、実際には私はまだその状態に
+陥ったことがない。つまり、この原因で対話プログラムの最後の出力を
+取りこぼすという状態になったことがない。
+
+一方、Cray UNICOS の pty は読み込んでいない出力をファイルディスクリプタを
+プロセスが閉じるとすぐに投げてくる。私は Cray にこの動きについて報告し、
+回避するための修正を行なった。
+
+プロンプトと応答の間にディレイが必要な場合がある。tty インターフェースが
+UART の設定を変えたり、スタート/ストップビットを探してボーレートを合わせて
+いる時などである。通常、ここで必要とされているものは 1 秒か 2 秒の待ち合わせである。
+もっとしっかりしたやり方はハードウェアが入力を受ける準備ができるまで繰り返す
+ことである。以下の例は、両方の戦略を採用している。:
 .nf
 
     send "speed 9600\\r";
@@ -4273,15 +4273,15 @@ UART 
 .\"O discards the return codes from async event handlers.  A workaround is
 .\"O to set a flag in the trap code.  Then check the flag immediately after
 .\"O the command (i.e., sleep).
-\-code ¤ò¥È¥é¥Ã¥×¤¹¤ë¤Î¤Ï Tcl ¤Î¥¤¥Ù¥ó¥È¥ë¡¼¥×¤Ë°Í¸¤·¤Æ¤¤¤ë¥³¥Þ¥ó¥É
-(sleep ¤Ê¤É)¤Ç¤ÏÆ°¤«¤Ê¤¤¡£
-ÌäÂê¤Ï¡¢¥¤¥Ù¥ó¥È¥ë¡¼¥×¤ÎÃæ¤Ç¤Ï Tcl ¤ÏÈóƱ´ü¥¤¥Ù¥ó¥È¥Ï¥ó¥É¥é¤«¤é¤Î
-ÊÖ¤êÃͤò¼Î¤Æ¤Æ¤¤¤ë¤«¤é¤Ç¤¢¤ë¡£
-²óÈòÊýË¡¤È¤·¤Æ¤Ï¡¢¥È¥é¥Ã¥×¥³¡¼¥É¤Ç¥Õ¥é¥°¤ò¥»¥Ã¥È¤·¡¢
-¥³¥Þ¥ó¥É(sleep ¤Ê¤É)¤Îľ¸å¤Ç¥Õ¥é¥°¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£
+\-code をトラップするのは Tcl のイベントループに依存しているコマンド
+(sleep など)では動かない。
+問題は、イベントループの中では Tcl は非同期イベントハンドラからの
+返り値を捨てているからである。
+回避方法としては、トラップコードでフラグをセットし、
+コマンド(sleep など)の直後でフラグをチェックすることである。
 
 .\"O .SH EXPECT HINTS
-.SH EXPECT ¥Ò¥ó¥È
+.SH EXPECT ヒント
 .\"O There are a couple of things about
 .\"O .B Expect
 .\"O that may be non-intuitive.
@@ -4325,16 +4325,16 @@ UART 
 .\"O and the processing of I/O both by the kernel and the device driver.
 .\"O
 .B Expect
-¤Ë¤Ä¤¤¤Æ¡¢Ä¾´ÑŪ¤Ç¤Ê¤¤ÅÀ¤¬¾¯¤·¤¢¤ë¡£
-¤³¤Î¥»¥¯¥·¥ç¥ó¤Ç¤Ï¤½¤¦¤¤¤Ã¤¿¤³¤È¤Î»ØŦ¤È¤½¤ì¤ËÂФ¹¤ë¼¨º¶¤ò»î¤ß¤ë¡£
-
-¶¦Ä̤Πexpect ¤ÎÌäÂê¤Ï¡¢¥·¥§¥ë¥×¥í¥ó¥×¥È¤òǧ¼±¤¹¤ëÊýË¡¤Ç¤¢¤ë¡£
-¤½¤ÎÀßÄê¤â¡¢¤½¤ì¤ò°·¤¦¿Í¤â¡¢»È¤¦¥·¥§¥ë¤â¤Þ¤Á¤Þ¤Á¤Ê¤Î¤Ç¡¢¼ÂºÝ¤Ë½Ð¤Æ¤¯¤ë
-¥×¥í¥ó¥×¥È¤òÃΤ餺¤Ë¡¢ÈÆÍÑŪ¤Ë rlogin ¤ò¼«Æ°²½¤¹¤ë¤³¤È¤Ïº¤Æñ¤Ç¤¢¤ë¡£
-ÂÅÅö¤ÊÀþ¤Ï¡¢¥æ¡¼¥¶¡¼¤Ë¥×¥í¥ó¥×¥È¤Ë¥Þ¥Ã¥Á¤¹¤ëÀµµ¬É½¸½(Æä˥ץí¥ó¥×¥È¤Î
-½ª¤ê¤ÎÉôʬ)¤ò´Ä¶­ÊÑ¿ô EXPECT_PROMPT ¤ËÊݸ¤µ¤»¤ë¤³¤È¤Ç¤¢¤ë¡£
-°Ê²¼¤Î¤è¤¦¤Ê¥³¡¼¥É¤Ç¤Ç¤­¤ë¡£
-EXPECT_PROMPT ¤¬¤Ê¤¯¤Æ¤â¡¢¥³¡¼¥É¤ÏÀµ¤·¤¯Æ°¤¯²ÄǽÀ­¤¬¤¢¤ë¡£
+について、直観的でない点が少しある。
+このセクションではそういったことの指摘とそれに対する示唆を試みる。
+
+共通の expect の問題は、シェルプロンプトを認識する方法である。
+その設定も、それを扱う人も、使うシェルもまちまちなので、実際に出てくる
+プロンプトを知らずに、汎用的に rlogin を自動化することは困難である。
+妥当な線は、ユーザーにプロンプトにマッチする正規表現(特にプロンプトの
+終りの部分)を環境変数 EXPECT_PROMPT に保存させることである。
+以下のようなコードでできる。
+EXPECT_PROMPT がなくても、コードは正しく動く可能性がある。
 .nf
 
     set prompt "(%|#|\\\\$) $"          ;# default prompt
@@ -4343,23 +4343,23 @@ EXPECT_PROMPT 
     expect -re $prompt
 
 .fi
-»ä¤È¤·¤Æ¤Ï¡¢¸«¤¨¤ë¤È»×¤Ã¤Æ¤¤¤ë¤â¤Î¤Î½ª¤ê¤ÎÉôʬ¤ò´Þ¤ó¤À
+私としては、見えると思っているものの終りの部分を含んだ
 .B expect
-¥Ñ¥¿¡¼¥ó¤ò½ñ¤¯¤è¤¦¤Ë´«¤á¤ë¡£¤½¤¦¤¹¤ì¤Ð¡¢Á´ÂΤò¸«¤ëÁ°¤Ë±þÅú¤òÊÖ¤·¤Æ¤·¤Þ¤¦
-¤³¤È¤òÈò¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤µ¤é¤Ë¡¢Á´ÂΤ¬¸«¤¨¤ëÁ°¤ËÅú¤¨¤ë¤³¤È¤â¤Ç¤­¤ë¤¬
-¤½¤Îʸ»ú¤Ï¼ÁÌä¤Ëº®¤¶¤Ã¤Æ echo ¤µ¤ì¤ë¡£¸À¤¤Âؤ¨¤ì¤Ð¡¢²ñÏäÏÀµ¾ï¤À¤¬¸«¤¿ÌܤÏ
-º®¤¶¤Ã¤Æ¸«¤¨¤ë¡£
-
-¤Û¤È¤ó¤É¤Î¥×¥í¥ó¥×¥È¤Î½ª¤ê¤Îʸ»ú¤Ï¥¹¥Ú¡¼¥¹¤Ç¤¢¤ë¡£Î㤨¤Ð¡¢
-ftp¤«¤é¤Î¥×¥í¥ó¥×¥È¤Ï¡¢'f', 't', 'p', '>' ¤½¤·¤Æ <blank> ¤Ç¤¢¤ë¡£
-¤³¤Î¥×¥í¥ó¥×¥È¤Ë¥Þ¥Ã¥Á¤µ¤»¤ë¤Ë¤Ï¡¢¤³¤Îʸ»ú¤Î°ì¤Ä°ì¤Ä¤Ë¥Þ¥Ã¥Á¤·¤Ê¤±¤ì¤Ð
-¤Ê¤é¤Ê¤¤¡£blank ¤ò´Þ¤á¤Ê¤¤¤Î¤Ï¡¢¤è¤¯¤¢¤ë¸í¤ê¤Ç¤¢¤ë¡£ÌÀ¼¨Åª¤Ë blank ¤ò
-Æþ¤ì¤ë¤è¤¦¤Ë¡£
-
-X* ¤Î·Á¤Î¥Ñ¥¿¡¼¥ó¤ò»È¤¦¤Î¤Ç¤¢¤ì¤Ð¡¢* ¤ÏX¤«¤éºÇ¸å¤Ë¼õ¤±¤È¤ë²¿¤«¤Þ¤Ç¤Î
-Á´¤Æ¤Ë¥Þ¥Ã¥Á¤¹¤ë¡£¤³¤ì¤Ï°ì¸«Ä¾´ÑŪ¤À¤¬¡¢"ºÇ¸å¤Ë¼õ¤±¤È¤ë²¿¤«"¤¬
-¥³¥ó¥Ô¥å¡¼¥¿¤Î®Å٤ȥ«¡¼¥Í¥ë¤È¥Ç¥Ð¥¤¥¹¥É¥é¥¤¥Ð¤Ë¤è¤ëI/O½èÍý¤Ë¤è¤Ã¤Æ
-ÊѤï¤Ã¤Æ¤·¤Þ¤¦¤Î¤Çº®Í𤹤ë¤À¤í¤¦¡£
+パターンを書くように勧める。そうすれば、全体を見る前に応答を返してしまう
+ことを避けることができる。さらに、全体が見える前に答えることもできるが
+その文字は質問に混ざって echo される。言い替えれば、会話は正常だが見た目は
+混ざって見える。
+
+ほとんどのプロンプトの終りの文字はスペースである。例えば、
+ftpからのプロンプトは、'f', 't', 'p', '>' そして <blank> である。
+このプロンプトにマッチさせるには、この文字の一つ一つにマッチしなければ
+ならない。blank を含めないのは、よくある誤りである。明示的に blank を
+入れるように。
+
+X* の形のパターンを使うのであれば、* はXから最後に受けとる何かまでの
+全てにマッチする。これは一見直観的だが、"最後に受けとる何か"が
+コンピュータの速度とカーネルとデバイスドライバによるI/O処理によって
+変わってしまうので混乱するだろう。
 .PP
 .\"O In particular, humans tend to see program output arriving in huge chunks
 .\"O (atomically) when in reality most programs produce output one
@@ -4367,18 +4367,18 @@ X* 
 .\"O previous paragraph may only match the end of the current line even though
 .\"O there seems to be more, because at the time of the match that was all
 .\"O the output that had been received.
-Æäˡ¢¿Í´Ö¤Ï¥×¥í¥°¥é¥à¤Î½ÐÎϤ¬µðÂç¤Ê¤Ò¤È¤Þ¤È¤Þ¤ê¤È¤·¤Æ¤ä¤Ã¤Æ¤¯¤ë¤È»×¤¤¤¬¤Á
-¤À¤¬¡¢¼ÂºÝ¤Ë¤Ï¡¢¤Û¤È¤ó¤É¤Î¥×¥í¥°¥é¥à¤Ï°ì¹Ô¤ò°ìÅÙ¤ËÁ÷¤ë¡£
-¤³¤¦²¾Äꤹ¤ë¤È¡¢Ä¾Á°¤ÎÃÊÍî¤Î¥Ñ¥¿¡¼¥ó¤Ë¤¢¤Ã¤¿ * ¤Ï¡¢¹Ô¤Î½ª¤ê¤Ë¤·¤«
-¥Þ¥Ã¥Á¤·¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¡£¤¿¤È¤¨¡¢¤â¤Ã¤ÈÆþÎϤ¬¤¢¤ë¤È»×¤ï¤ì¤ë¾ì¹ç¤Ç¤â
-½ÐÎϤòÁ´¤Æ¼õ¤±¤È¤Ã¤¿»þÅÀ¤Ç¤·¤«¥Þ¥Ã¥Á¤ò¹Ô¤Ê¤ï¤Ê¤¤¤Î¤Ç¤¢¤ë¡£
+特に、人間はプログラムの出力が巨大なひとまとまりとしてやってくると思いがち
+だが、実際には、ほとんどのプログラムは一行を一度に送る。
+こう仮定すると、直前の段落のパターンにあった * は、行の終りにしか
+マッチしないかも知れない。たとえ、もっと入力があると思われる場合でも
+出力を全て受けとった時点でしかマッチを行なわないのである。
 .PP
 .\"O .B expect
 .\"O has no way of knowing that further output is coming unless your
 .\"O pattern specifically accounts for it.
 .B expect
-¤Ï¡¢»ØÄꤷ¤¿¥Ñ¥¿¡¼¥ó¤¬¶µ¤¨¤Æ¤¯¤ì¤Ê¤¤¸Â¤ê¡¢½ÐÎϤ¬¤µ¤é¤Ë¤ä¤Ã¤Æ¤¯¤ë¤Î¤«
-¤É¤¦¤«¤ï¤«¤é¤Ê¤¤¡£
+は、指定したパターンが教えてくれない限り、出力がさらにやってくるのか
+どうかわからない。
 .PP
 .\"O Even depending on line-oriented buffering is unwise.  Not only do programs
 .\"O rarely make promises about the type of buffering they do, but system
@@ -4402,29 +4402,29 @@ X* 
 .\"O when output by the terminal driver.  Thus, if you want a pattern that
 .\"O explicitly matches the two lines, from, say, printf("foo\\nbar"),
 .\"O you should use the pattern "foo\\r\\nbar".
-¹Ô»Ø¸þ¤Î¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ç¤¹¤é¡¢¸­¤¤¤ä¤êÊý¤È¤Ï¤¤¤¨¤Ê¤¤¡£
-¥×¥í¥°¥é¥à¤Ï¥Ð¥Ã¥Õ¥¡¥ê¥ó¥°¤Î¥¿¥¤¥×¤ò¤á¤Ã¤¿¤ËÊݾڤ·¤Ê¤¤¤À¤±¤Ç¤Ê¤¯¡¢¤½¤ÎºÝ¤Ë
-¾Ã²½ÉÔÎɤòµ¯¤³¤·¤Æ½ÐÎϹԤòÃæÃǤ·¡¢¹ÔËö¤ò¥Ð¥Ã¥Õ¥¡Ãæ¤Î¥é¥ó¥À¥à¤Ê°ÌÃÖ¤Ë
-ÃÖ¤¤¤Æ¤·¤Þ¤¦¡£
-¤½¤ì¤Ç¡¢¥Ñ¥¿¡¼¥ó¤ò½ñ¤¯»þ¤Ë¤Ï¡¢¥×¥í¥ó¥×¥È¤ÎºÇ¸å¤Î²¿Ê¸»ú¤«¤òÆþ¤ì¤Æ¤ª¤¤¤¿Êý¤¬
-¸­¤¤¤ä¤êÊý¤È¤¤¤¨¤ë¤Î¤Ç¤¢¤ë¡£
-
-¥×¥í¥°¥é¥à¤ÎºÇ¸å¤Î½ÐÎϤˤ¢¤ë¥Ñ¥¿¡¼¥ó¤òÂÔ¤Á¡¢¼ÂºÝ¤Ë¤Ï²¿¤¬¤·¤«Â¾¤Î¤â¤Î¤¬
-ȯ¹Ô¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï
+行指向のバッファリングを行なっている場合ですら、賢いやり方とはいえない。
+プログラムはバッファリングのタイプをめったに保証しないだけでなく、その際に
+消化不良を起こして出力行を中断し、行末をバッファ中のランダムな位置に
+置いてしまう。
+それで、パターンを書く時には、プロンプトの最後の何文字かを入れておいた方が
+賢いやり方といえるのである。
+
+プログラムの最後の出力にあるパターンを待ち、実際には何がしか他のものが
+発行されている場合には
 .B timeout
-¥­¡¼¥ï¡¼¥É¤ÇȽÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¡£Íýͳ¤Ï¡¢
+キーワードで判定することができない。理由は、
 .B expect
-¤¬¡¢¥¿¥¤¥à¥¢¥¦¥È¤·¤Ê¤¤ \- ¤½¤Î¤«¤ï¤ê¤Ë
+が、タイムアウトしない \- そのかわりに
 .B eof
-¤ò¸«¤Ä¤±¤é¤ì¤ë \-
-¤«¤é¤Ç¤¢¤ë¡£
-Âå¤ï¤ê¤Ë¤Ê¤ë¤â¤Î¤ò»È¤¦¤³¤È¡£¤â¤Ã¤ÈÎɤ¤¤Î¤Ï¡¢Î¾Êý»È¤¦¤³¤È¤À¤í¤¦¡£
-¹Ô¤¬²ó¤ê¹þ¤ó¤À¾ì¹ç¤Ç¤â¡¢¹Ô¤½¤Î¤â¤Î¤òÊÔ½¸¤¹¤ë¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-
-tty ¥É¥é¥¤¥Ð¤Ë¤è¤Ã¤Æ½ÐÎϤµ¤ì¤ë»þ¤Ë
-newline ¤Ï¡¢ÉáÄÌ carriage return, linefeed ¤ÎÁȤËÊÑ´¹¤µ¤ì¤ë¡£
-¤½¤ì¤Ç¡¢2 ¥é¥¤¥ó¤Ë¥Þ¥Ã¥Á¤¹¤ë¤Ë¤Ï¡¢Î㤨¤Ð¡¢printf("foo\\nbar") ¤Ë
-¥Þ¥Ã¥Á¤µ¤»¤ë¤Ë¤Ï¡¢"foo\\r\\nbar" ¤È¤¤¤¦¥Ñ¥¿¡¼¥ó¤ò»È¤¦¤³¤È¤Ë¤Ê¤ë¡£
+を見つけられる \-
+からである。
+代わりになるものを使うこと。もっと良いのは、両方使うことだろう。
+行が回り込んだ場合でも、行そのものを編集するべきではない。
+
+tty ドライバによって出力される時に
+newline は、普通 carriage return, linefeed の組に変換される。
+それで、2 ラインにマッチするには、例えば、printf("foo\\nbar") に
+マッチさせるには、"foo\\r\\nbar" というパターンを使うことになる。
 .PP
 .\"O A similar translation occurs when reading from the user, via
 .\"O .BR expect_user .
@@ -4437,23 +4437,23 @@ newline 
 .\"O are actually forgiving in that they will automatically translate
 .\"O newlines to returns, but most don't.)  Unfortunately, there is no way to find
 .\"O out that a program put its terminal into raw mode.
-»÷¤¿¤è¤¦¤ÊÊÑ´¹¤Ï¡¢¥æ¡¼¥¶¡¼¤«¤é
+似たような変換は、ユーザーから
 .BR expect_user
-¤òÄ̤·¤ÆÆþÎϤòÆɤ߹þ¤à»þ¤Ë¤âµ¯¤³¤ë¡£¤³¤Î¾ì¹ç¡¢¥æ¡¼¥¶¡¼¤¬¥ê¥¿¡¼¥ó¤ò
-²¡¤¹¤È¡¢¤½¤ì¤Ï newline ¤ËÊÑ´¹¤µ¤ì¤ë¡£¤½¤Î¸å¡¢
+を通して入力を読み込む時にも起こる。この場合、ユーザーがリターンを
+押すと、それは newline に変換される。その後、
 .B Expect
-¤¬Ã¼Ëö¥â¡¼¥É¤ò raw ¥â¡¼¥É(telnet ¤Î¤è¤¦¤Ê)¤òÀßÄꤹ¤ë¤È¡¢ÌäÂ꤬ȯÀ¸¤¹¤ë
-²ÄǽÀ­¤¬¤¢¤ë¡£¥×¥í¥°¥é¥à¤¬ËÜÅö¤Î¥ê¥¿¡¼¥ó¤òÂԤäƤ·¤Þ¤¦¤«¤é¤Ç¤¢¤ë¡£(¥×¥í¥°¥é¥à¤Î
-Ãæ¤Ë¤Ï¡¢newline ¤ò¥ê¥¿¡¼¥ó¤ËÊѤ¨¤Æ¤âÂç¾æÉפʤâ¤Î¤â¤¢¤ë¤¬¡¢¤Û¤È¤ó¤É¤Ï¤À¤á¤Ç¤¢¤ë¡£)
-»ÄÇ°¤Ê¤¬¤é¡¢¥×¥í¥°¥é¥à¤¬Ã¼Ëö¤ò raw ¥â¡¼¥É¤Ë¤¹¤ë¤³¤È¤ò¸¡½Ð¤¹¤ëÊýË¡¤¬¤Ê¤¤¡£
+が端末モードを raw モード(telnet のような)を設定すると、問題が発生する
+可能性がある。プログラムが本当のリターンを待ってしまうからである。(プログラムの
+中には、newline をリターンに変えても大丈夫なものもあるが、ほとんどはだめである。)
+残念ながら、プログラムが端末を raw モードにすることを検出する方法がない。
 .PP
 .\"O Rather than manually replacing newlines with returns, the solution is to
 .\"O use the command "stty raw", which will stop the translation.
 .\"O Note, however, that this means that you will no longer get the cooked
 .\"O line-editing features.
-¼ê¤Ç newline ¤ò¥ê¥¿¡¼¥ó¤ËÊѤ¨¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢"stty raw"¤ò»È¤¦¤Î¤¬²ò·èºö¤Ç¤¢¤ë¡£
-stty raw ¤Ï¡¢ÊÑ´¹¤òÄä»ß¤¹¤ë¡£¤·¤«¤·¡¢¤³¤¦¤¹¤ë¤È cooked ¥â¡¼¥É¤Î¹ÔÊÔ½¸µ¡Ç½¤¬
-»È¤¨¤Ê¤¯¤Ê¤ë¤È¤¤¤¦¤³¤È¤ËÃí°Õ¤¹¤ë¤³¤È¡£
+手で newline をリターンに変えるのではなく、"stty raw"を使うのが解決策である。
+stty raw は、変換を停止する。しかし、こうすると cooked モードの行編集機能が
+使えなくなるということに注意すること。
 .PP
 .\"O .B interact
 .\"O implicitly sets your terminal to raw mode so this problem will not arise then.
@@ -4467,21 +4467,21 @@ stty raw 
 .\"O idea than embedding them literally.  Nonetheless, sometimes such embedding
 .\"O is the only possibility.
 .B interact
-¤Ï¡¢Ã¼Ëö¤ò raw ¥â¡¼¥É¤ËÀßÄꤹ¤ë¤Î¤Ç¡¢¤³¤ÎÌäÂê¤ÏȯÀ¸¤·¤Ê¤¤¡£
+は、端末を raw モードに設定するので、この問題は発生しない。
 
 .B Expect
-¥¹¥¯¥ê¥×¥È¤ÎÃæ¤Ç¥Ñ¥¹¥ï¡¼¥É(¤ä¾¤Îµ¡Ì©¾ðÊó)¤òÊݸ¤¹¤ë¤ÈÊØÍø¤Ê¤³¤È¤Ï
-¤è¤¯¤¢¤ë¡£¤À¤ì¤«¤Î¥¢¥¯¥»¥¹¤ò¼õ¤±¤ë¤È¤½¤Î±Æ¶Á¤ò¼õ¤±¤Æ¤·¤Þ¤¦¥³¥ó¥Ô¥å¡¼¥¿¤Ç
-¤½¤¦¤¤¤¦¤³¤È¤ò¤¹¤ë¤Î¤Ï´«¤á¤é¤ì¤Ê¤¤¡£¤½¤ì¤Ç¡¢¥Ñ¥¹¥ï¡¼¥É¤Î¥×¥í¥ó¥×¥È¤ò
-¥¹¥¯¥ê¥×¥È¤«¤é½Ð¤¹¤Î¤¬¡¢Ê¸»úÄ̤ê¥Ñ¥¹¥ï¡¼¥É¤òËä¤á¹þ¤à¤è¤ê¤Ï¡¢Îɤ¤¹Í¤¨¤È
-¤¤¤¨¤ë¡£¤È¤Ï¤¤¤¦¤â¤Î¤Î¡¢¤½¤¦¤¤¤Ã¤¿Ëä¤á¹þ¤ß¤ò¤¹¤ë¤·¤«¤Ê¤¤¾ì¹ç¤â¤¢¤ë¡£
+スクリプトの中でパスワード(や他の機密情報)を保存すると便利なことは
+よくある。だれかのアクセスを受けるとその影響を受けてしまうコンピュータで
+そういうことをするのは勧められない。それで、パスワードのプロンプトを
+スクリプトから出すのが、文字通りパスワードを埋め込むよりは、良い考えと
+いえる。とはいうものの、そういった埋め込みをするしかない場合もある。
 .PP
 .\"O Unfortunately, the UNIX file system has no direct way of creating
 .\"O scripts which are executable but unreadable.  Systems which support
 .\"O setgid shell scripts may indirectly simulate this as follows:
-ÉÔ¹¬¤Ê¤³¤È¤Ë¡¢UNIX ¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤Ï¡Ö¼Â¹Ô²Äǽ¤ÇÆɤá¤Ê¤¤¡×¥¹¥¯¥ê¥×¥È¤ò
-ºî¤ëľÀܤÎÊýË¡¤¬¤Ê¤¤¡£setgid ¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤ò¥µ¥Ý¡¼¥È¤·¤¿¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
-¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤Ç´ÖÀÜŪ¤Ë¥·¥ß¥å¥ì¡¼¥È¤Ç¤­¤ë¡£
+不幸なことに、UNIX のファイルシステムは「実行可能で読めない」スクリプトを
+作る直接の方法がない。setgid シェルスクリプトをサポートしたシステムでは、
+次のようにすることで間接的にシミュレートできる。
 .PP
 .\"O Create the
 .\"O .B Expect
@@ -4492,23 +4492,23 @@ stty raw 
 .\"O group for this purpose.  Next, create a /bin/sh script with
 .\"O permissions 2751 (\-rwxr\-s\-\-x) owned by the same group as before.
 .B Expect
-¥¹¥¯¥ê¥×¥È(µ¡Ì©¾ðÊó¤ÎÆþ¤Ã¤¿)¤òÉáÄ̤˺î¤ë¡£
-¤½¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤ò 750 (\-rwxr\-x\-\-\-) ¤ËÀßÄꤷ¡¢trusted group 
-¤Ä¤Þ¤ê¡¢Æɤó¤Ç¤âÎɤ¤¥°¥ë¡¼¥× ¤Î½êÍ­¤È¤¹¤ë¡£É¬Íפʤ顢¤³¤ÎÌÜŪ¤Î¤¿¤á¤Î
-¿·¤·¤¤¥°¥ë¡¼¥×¤ò¤Ä¤¯¤ë¤³¤È¡£¼¡¤Ë¡¢/bin/sh ¥¹¥¯¥ê¥×¥È¤ò ¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó
- 2751 (\-rwxr\-s\-\-x) ¤Ç¡¢Æ±¤¸¥°¥ë¡¼¥×¤Î½êÍ­¤ÇºîÀ®¤¹¤ë¡£
+スクリプト(機密情報の入った)を普通に作る。
+そのパーミッションを 750 (\-rwxr\-x\-\-\-) に設定し、trusted group 
+つまり、読んでも良いグループ の所有とする。必要なら、この目的のための
+新しいグループをつくること。次に、/bin/sh スクリプトを パーミッション
+ 2751 (\-rwxr\-s\-\-x) で、同じグループの所有で作成する。
 .PP
 .\"O The result is a script which may be executed (and read) by anyone.
 .\"O When invoked, it runs the
 .\"O .B Expect
 .\"O script.
-¤³¤¦¤¹¤ë¤È¡¢¥·¥§¥ë¥¹¥¯¥ê¥×¥È¤Ï¤À¤ì¤«¤é¤â¼Â¹Ô¤Ç¤­(¤«¤Ä¡¢Æɤá)¤ë¡£
-¼Â¹Ô¤¹¤ë¤È¡¢¤½¤ì¤Ï
+こうすると、シェルスクリプトはだれからも実行でき(かつ、読め)る。
+実行すると、それは
 .B Expect
-¥¹¥¯¥ê¥×¥È¤ò¼Â¹Ô¤¹¤ë¡£
+スクリプトを実行する。
 
 .\"O .SH SEE ALSO
-.SH ´ØÏ¢¹àÌÜ
+.SH 関連項目
 
 .BR Tcl (3),
 .BR libexpect (3)
@@ -4554,17 +4554,17 @@ Vol. 23, No. 5, May, 1993.
 Proceedings of the 1993 Tcl/Tk Workshop, Berkeley, CA, June 10-11, 1993.
 
 .\"O .SH AUTHOR
-.SH Ãø¼Ô
+.SH 著者
 
 Don Libes, National Institute of Standards and Technology
 
 .\"O .SH ACKNOWLEDGMENTS
-.SH ¼Õ¼­
+.SH 謝辞
 .\"O Thanks to John Ousterhout for Tcl, and Scott Paisley for inspiration.
 .\"O Thanks to Rob Savoye for Expect's autoconfiguration code.
-Tcl¤òÀ¸¤ß½Ð¤·¤¿ John Ousterhout ¤È¡¢¥¤¥ó¥¹¥Ô¥ì¡¼¥·¥ç¥ó¤òÍ¿¤¨¤Æ¤¯¤ì¤¿
-Scott Paisley ¤Ë´¶¼Õ¤¹¤ë¡£
-Expect ¤Î¥ª¡¼¥È¥³¥ó¥Õ¥£¥®¥å¥ì¡¼¥·¥ç¥ó¥³¡¼¥É¤Ë¤Ä¤¤¤Æ¡¢ Rob Savoye ¤Ë´¶¼Õ¤¹¤ë¡£
+Tclを生み出した John Ousterhout と、インスピレーションを与えてくれた
+Scott Paisley に感謝する。
+Expect のオートコンフィギュレーションコードについて、 Rob Savoye に感謝する。
 
 .PP
 .\"O The HISTORY file documents much of the evolution of
@@ -4572,12 +4572,12 @@ Expect 
 .\"O It makes interesting reading and might give you further insight to this
 .\"O software.  Thanks to the people mentioned in it who sent me bug fixes
 .\"O and gave other assistance.
-HISTORY ¥Õ¥¡¥¤¥ë¤Ë
+HISTORY ファイルに
 .B expect
-¤Î¿Ê²½¤ÎÂçÉôʬ¤¬µ­½Ò¤µ¤ì¤Æ¤¤¤ë¡£¤³¤Î¥Õ¥¡¥¤¥ë¤ÏÌÌÇò¤¯Æɤá¤Æ¡¢¤«¤Ä¡¢
-¤¢¤Ê¤¿¤Î¤³¤Î¥½¥Õ¥È¥¦¥§¥¢¤Ø¤Îƶ»¡¤ò¤è¤ê¿¼¤¯¤¹¤ë¤À¤í¤¦¡£¤³¤Î¥Õ¥¡¥¤¥ë¤Ë
-½ñ¤«¤ì¤Æ¤¤¤ë¡¢»ä¤Ë¥Ð¥°¥Õ¥£¥Ã¥¯¥¹¤òÁ÷¤Ã¤Æ¤¯¤ì¤¿¿Í¤¿¤Á¤ä¡¢Â¾¤Î±ç½õ¤ò
-¤·¤Æ¤¯¤ì¤¿¿Í¤¿¤Á¤Ë´¶¼Õ¤¹¤ë¡£
+の進化の大部分が記述されている。このファイルは面白く読めて、かつ、
+あなたのこのソフトウェアへの洞察をより深くするだろう。このファイルに
+書かれている、私にバグフィックスを送ってくれた人たちや、他の援助を
+してくれた人たちに感謝する。
 .PP
 .\"O Design and implementation of
 .\"O .B Expect
@@ -4586,6 +4586,6 @@ HISTORY 
 .\"O However the author and NIST would like credit
 .\"O if this program and documentation or portions of them are used.
 .B Expect
-¤ÎÀ߷פȼÂÁõ¤Ï¡¢ÉôʬŪ¤Ë¥¢¥á¥ê¥«À¯Éܤ«¤é¤½¤ÎÂвÁ¤ò¤â¤é¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢
-¥Ñ¥Ö¥ê¥Ã¥¯¥É¥á¥¤¥ó¤Ç¤¢¤ë¡£¤·¤«¤·¡¢¤³¤Î¥×¥í¥°¥é¥à¤È¥É¥­¥å¥á¥ó¥È¤¢¤ë¤¤¤Ï
-¤½¤Î°ìÉô¤¬»È¤ï¤ì¤¿¤Ê¤é¡¢Ãø¼Ô¤È NIST ¤Ø¤Î¼Õ¼­¤ò½Ò¤Ù¤Æ¤â¤é¤¤¤¿¤¤¡£
+の設計と実装は、部分的にアメリカ政府からその対価をもらっているので、
+パブリックドメインである。しかし、このプログラムとドキュメントあるいは
+その一部が使われたなら、著者と NIST への謝辞を述べてもらいたい。