Provided by: manpages-ja_0.5.0.0.20071115-1_all bug

CLR_ABORT列
       このシーケンスは以前に設定した   ABORT   文字列をクリアします。   ABORT
       文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;   CLR_ABORT
       はクリアされたエントリの領域を再要求し、   新たな文字列をそこに格納で-
       るようにします。

SAY列
       SAY                     ディレクティブにて、                     script
       が標準エラー出力を介してユーザ端末ヘ文字列を送ることがでい泙后 chat が
       pppd                     から起動される場合、                      pppd
       はデーモンとして実行され(制御端末から切り離され)、 標準エラー出力は通常
       /etc/ppp/connect-errors へとリダイレクトされます。

       SAY                文字列は、シングルクォートもしくはダブルクォートにて
       括る必要があります。                                         出力中に-
       ャリッジリターンおよびラインフィードが必要な場合、
       明示的に文字列中に含める必要があります。

       SAY 文字列を使用して script の進捗状況メッセージを表示することで、'ECHO
       OFF'           しつつもユーザになにが起っているのか示すことが可能です。
       例を示します:

              ABORT BUSY
              ECHO OFF
              SAY "Dialling your ISP...\n"
              '' ATDT5551212
              TIMEOUT 120
              SAY "Waiting up to 2 minutes for connection ... "
              CONNECT ''
              SAY "Connected, now logging in ...\n"
              ogin: account
              ssword: pass
              $ SAY "Logged in OK ...\n" etc ...

       このシーケンスは  SAY 文字列のみユーザに示し、script の詳細は隠します。
       例えば、上 script を実行した場合、ユーザが見るのは以下です:

              Dialling your ISP...
              Waiting up to  2  minutes  for  connection  ...  Connected,  now
              logging in ...
              Logged in OK ...

列
                文字列は          ABORT          文字列に似ています。
       違うのは、その文字列自身とゥ礇螢奪献螢拭璽鹽の      次の制御文字までの
       全ての文字がレポートファイルに書かれるということです。

       レポート文字列はモデムのコネクト文字列の転送レートと               chat
       ユーザへのリターン値を切りわけるために使えます。
       レポート文字列ロジックの分析は、受信待ち文字列の検索などの
       他の文字列処理と同時におこなわれます。
       レポート文字列と中断文字列に同じ文字列を使用することも可能ですが、
       おそらくあまり使い道がないでしょう。

       レポート文字列はプログラムの終了コードに影響を及ぼしません。

       これらの「レポート」文字列は、REPORT                   シーケンスにより
       スクリプト中に指定することがでい泙后
       それは、以下の例のようにスクリプトに指定します:

              REPORT CONNECT  ABORT  BUSY  ''  ATDT5551212  CONNECT  ''  ogin:
              account

       このシーケンスは受信待ちをおこなわず、文字列   ATDT5551212   を送信して
       電話をかけます。受信待ち文字列は   CONNECT   です。   文字列    CONNECT
       を受信すると、スクリプトの残りが実行されます。 さらに、文字列 "CONNECT"
       と、それに続く接続レートなどの         任意の文字がレポートファイルに-
       録されます。

CLR_REPORT列
       このシーケンスを使用して、以前に設定した   REPORT  文字列をクリア  で-
       ます。                                                           REPORT
       文字列は規定サイズ(コンパイル時に決定)の配列に保持されます;  CLR_REPORT
       はクリアされたエントリの領域を再要求し、   新たな文字列をそこに格納で-
       るようにします。

ー
       エコーオプションはモデムからの出力を      stderr     へエコーするか否か
       を制御します。  このオプションを  -e   オプションにて設定することがで-
       ますし、            ECHO           ァ璽錙璽匹砲得御することもでい泙后
       「受信待ち-送信」文字列の組  ECHO  ON  はエコーを邑にし、   ECHO   OFF
       は無効にします。                                                 この-
       ーワードを使用してどの会話を見せるかを選択可能です。       例えば以下の
       script では:

              ABORT   'BUSY'
              ABORT   'NO CARRIER'
              ''      ATZ
              OK\r\n  ATD1234567
              \r\n    \c
              ECHO    ON
              CONNECT \c
              ogin:   account

       モデム設定結果およびダイヤル結果は見せませんが、    CONNECT   (もしくは
       BUSY) メッセージ後は全てをエコーします。

断
       HANGUP   オプションはモデムの回線切断をエラーと扱うか否かを制御します。
       このオプションは、     システムにダイヤル後に回線切断しコールバックする
       script 中で邑です。 HANGUP オプションは ON もしくは OFF にでい泙后
       HANGUP            を            OFF            に設定しモデムを回線切断
       (つまりコールバックシステムへの最初のログイン)すると、chat   は  script
       の実行を続けます
       (つまり呼び出しと二度目のログインプロンプトを待ちます)。
       呼び出しにて接続後すぐに、HANGUP      ON       ディレクティブを使用して
       通常の回線切断シグナルの動作を戻す必要があります。    (簡単な)   script
       例を示します:

              ABORT   'BUSY'
              OK\r\n  ATD1234567
              \r\n    \c
              CONNECT \c
              'Callback login:' call_back_ID
              HANGUP OFF
              ABORT "Bad Login"
              'Callback Password:' Call_back_password
              TIMEOUT 120
              CONNECT \c
              HANGUP ON
              ABORT "NO CARRIER"
              ogin:--BREAK--ogin: real_account
              etc ...

ト
       タイムアウトの初期値は   45    秒です。これは    -t    パラメータにより
       変更することがでい泙后

       次に受信待ちする文字列のタイムアウト値を変更するには、以下のようにします:

              ATZ OK ATDT5551212 CONNECT TIMEOUT  10  ogin:--ogin:  TIMEOUT  5
              assword: hello2u2

       これは     login:     プロンプトを受信待ちする際のタイムアウトを     10
       秒に変更します。                    さらに                     password
       プロンプトを受信待ちする際にはタイムアウトを 5 秒に変更します。

       一旦タイムアウト値が変更されると、次に変更されるまでは
       そのままになります。

EOT信
       チャットプログラムは特殊な応答文字列  EOT  により、  リモート側へ   EOT
       文字を送信します。     通常、これはファイル終了を表す文字です。     EOT
       に続けてリターン文字が送られることはありません。 ^D  シーケンスを使って
       EOT を送信文字列に埋め込むことがでい泙后

成
       特殊な応答文字列        BREAK        により、ブレーク信号が送られます。
       ブレークは送信側では特殊な信号として扱われます。
       受信側では通常、転送レートの変更要求として処理されます。
       これにより、正常に           login            プロンプトを受信でい襪泙
       ブレーク信号を送ることで、リモート側がサポートしている転送レートを
       順次切り替えさせることがでい泙后                                    \K
       シーケンスを使ってブレーク信号を送信文字列に埋め込むことがでい泙后

ス
       受信待ち文字列と応答文字列には、エスケープシーケンスを指定することがで-
       ます。           応答文字列では、全てのエスケープシーケンスが使えます。
       受信待ち文字列では、ほとんどのエスケープシーケンスが使えます。
       受信待ち文字列では使えないエスケープシーケンスについては、
       説明文中にそのことが書かれています。

       ''     空文字列を受信待ちしたり、送信したりします。
              もし、空文字列を送信しようとすると、それはリターン文字を送ることになります。
              このシーケンスはアポストロフィ文字またはクォート文字のペアの
              どちらでもかまいません。

       \b     バックスペース文字を表します。

       \c     応答文字列の末尾の改行を抑制します。
              これは末尾に改行文字のつかない文字列を送る唯一の方法です。
              これは送信文字列の最後に置かれなければいけません。
              たとえば、文字列    hello\c    は単に    h,    e,    l,   l,   o
              という文字だけを送ります。 (_\d     1 秒のディレイです。プログラムは 1 秒のディレイのために sleep(1)
              を使います。 (_\K     ブレーク信号を挿入します。 (_\n     改行文字を送信します。

       \N     空                  (null)                  文字を送信します。\0
              でも同じシーケンスを表すことがでい泙后
              (_\p     1      秒以下のポーズです。ディレイ時間は      1/10     秒です。
              (_\q     syslogd(8)  への文字列出力を抑止します。  かわりに文字列  ??????
              がログに出力されます。 (_\r     ゥ礇螢奪献螢拭璽麒源を送信または受信待ちします。

       \s     文字列中のスペース文字を表します。
              これはスペースを含む文字列をクォートしたくない場合に使います。
              シーケンス 'HI TIM' と HI\sTIM は等価です。

       \t     タブ文字を送信または受信待ちします。

       \\     バックスラッシュ文字を送信または受信待ちします。

       \ddd   8 進数 (ddd) を一つの ASCII 文字に変換し、その文字を送信します。
              (_^C     C で表現される制御文字に置いえられます。 例えば、文字 DC1  (17)
              は                       ^Q                       で表されます。
              (_chat プログラムは以下の終了コードを返します。

       0      プログラムは正常終了しました。これは、スクリプトがエラーを起こさずに
              実行されて、正常に終了したことを示します。

       1      一つまたはそれ以上のパラメータが不正であるか、受信待ち文字列が
              内部バッファよりも大い垢ます。これはプログラムが正しく
              実行されなかったことを示します。

       2      プログラムの実行中にエラーが発生しました。これは、何らかの理由で
              リードまたはライトの操作が失敗したか、chat  が  SIGINT  のような
              シグナルを受信したためでしょう。

       3      「-副送信」文字列のない_4      ABORT 条件としてマークされた 1 番目の文字列を検出しました。

       5      ABORT 条件としてマークされた 2 番目の文字列を検出しました。

       6      ABORT 条件としてマークされた 3 番目の文字列を検出しました。

       7      ABORT 条件としてマークされた 4 番目の文字列を検出しました。

       ...    その他の終了コードも、ABORT       条件としてマークされた文字列を
              検出したことを示します。

       終了コードを使うと、どのイベントによりスクリプトが終了したのかを
       判断することがでい泙后 つまり、"NO DIAL  TONE"  を受信したのか  "BUSY"
       を受信したのかを   識別することがでい襪箸いΔ海箸任后   最初のイベント
       (BUSY) ならばリトライする価値がありますが、 二つ目のイベント  (NO  DIAL
       TONE)        だと、        おそらくリトライしてもそれがうまくいく可能-
       は低いでしょう。

目
       UUCP            のドゥ絅瓮鵐箸らも、chat            スクリプトに関する
       追加情報が得られるでしょう。       chat       スクリプトは       uucico
       プログラムで使われる
       スクリプトによって提示されたアイデアを基にしています。

       uucico(1), uucp(1), syslog(3), syslogd(8).

権
       chat  プログラムは、パブリックドメインのソフトウェアです。  これは  GNU
       のパブリックライセンス        (一般公融藩儺諾)        とは異なります。
       このプログラムを分割する場合には、その両方を管理するようにしてください。