Manpages

名 称

chat − モ デ ム 接 続 の 確 立 を 自 動 化 す る ス ク リ プ ト 言 語

書 式

chat [ options ] script

解 説

chat プ ロ グ ラ ム は コ ン ピ ュ ー タ と モ デ ム の 間 の メ ッ セ ー ジ 交 換 を 制 御 し ま す 。 こ の コ マ ン ド の 主 な 目 的 は 、 Point-to-Point Protocol デ ー モ ン (pppd) と リ モ ー ト の pppd プ ロ セ ス の 間 の 接 続 を 確 立 す る こ と で す 。

オ プ シ ョ ン

-f <chat file> チ ャ ッ ト ス ク リ プ ト を chat file か ら 読 み 込 み ま す 。 こ の オ プ シ ョ ン と script パ ラ メ ー タ と は 、 互 い に 排 他 の 関 係 に あ り ま す 。 chat コ マ ン ド を 実 行 す る ユ ー ザ は 、 こ の フ ァ イ ル の リ ー ド ア ク セ ス 権 を 持 っ て い な け れ ば な り ま せ ん 。 こ の フ ァ イ ル の 中 で は 、 文 字 列 の 区 切 り と し て ス ペ ー ス と タ ブ を 使 う こ と が で き ま す 。
-t
<timeout> 文 字 列 の 受 信 待 ち の タ イ ム ア ウ ト を 指 定 し ま す 。 も し 、 タ イ ム リ ミ ッ ト ま で に 指 定 さ れ た 文 字 列 を 受 信 で き な か っ た 場 合 に は 、 応 答 文 字 列 の 送 信 を お こ な い ま せ ん 。 こ の 時 、 か わ り の 応 答 文 字 列 が 指 定 さ れ て い れ ば そ れ が 送 信 さ れ 、 指 定 さ れ て い な け れ ば ス ク リ プ ト の 実 行 が 失 敗 し ま す 。 ス ク リ プ ト の 実 行 が 失 敗 す る と 、 chat プ ロ グ ラ ム は 0 以 外 の エ ラ ー コ ー ド を 返 し て 終 了 し ま す 。
-r
<report file> レ ポ ー ト 文 字 列 を 出 力 す る フ ァ イ ル を 指 定 し ま す 。 キ ー ワ ー ド REPORT を 用 い る と 、 結 果 の 文 字 列 が こ の フ ァ イ ル に 出 力 さ れ ま す 。 こ の オ プ シ ョ ン を 指 定 せ ず に REPORT キ ー ワ ー ド を 使 用 す る と 、 レ ポ ー ト 文 字 列 は stderr に 出 力 さ れ ま す 。

-e エ コ ー オ プ シ ョ ン を 有 効 に し て 開 始 し ま す 。

chat ス ク リ プ ト の 特 定 の

場 所 に お い て ECHO キ ー ワ ー ド に て エ コ ー の 有 効 お よ び 無 効 を 切 り 替 え る こ と が で き ま す 。 エ コ ー が 有 効 に さ れ る と 、 モ デ ム か ら の 出 力 は 全 て stderr へ エ コ ー さ れ ま す 。

-v

chat ス ク リ プ ト を 冗 長 モ ー ド で 実 行 し ま す 。 こ れ を 指 定 す る と 、 chat プ ロ グ ラ ム は 、 チ ャ ッ ト ス ク リ プ ト の 実 行 状 態 、 モ デ ム か ら 受 信 し た 全 て の テ キ ス ト 、 モ デ ム に 送 っ た 全 て の テ キ ス ト の ロ グ を と り ま す 。 デ フ ォ ル ト で は syslogd(8) を 介 し て 取 得 し ま す 。 ロ グ の 方 法 は -S お よ び -s の フ ラ グ で 変 更 で き ま す 。 冗 長 ト レ ー ス の ロ グ と り は local2 フ ァ シ リ テ ィ の レ ベ ル info で お こ な わ れ 、 エ ラ ー に つ い て は レ ベ ル err が 使 わ れ ま す 。

-V

chat ス ク リ プ ト を 標 準 エ ラ ー 出 力 冗 長 モ ー ド に て 実 行 す る よ う に 要 求 し ま す 。 chat プ ロ グ ラ ム は 、 モ デ ム か ら 受 信 す る 全 て の テ キ ス ト お よ び モ デ ム へ 送 信 す る 全 て の テ キ ス ト を 標 準 エ ラ ー 出 力 デ バ イ ス へ ロ グ し ま す 。 chat も し く は pppd プ ロ グ ラ ム を 動 作 さ せ て い る 場 所 で は 、 こ の デ バ イ ス は 通 常 ロ ー カ ル の コ ン ソ ー ル で す 。

-s

標 準 エ ラ ー 出 力 を 使 用 し ま す 。 ’-v’ に よ る 全 ロ グ メ ッ セ ー ジ お よ び 全 エ ラ ー メ ッ セ ー ジ を 標 準 エ ラ ー 出 力 へ 送 ら れ ま す 。
-S

syslog(3) を 使 用 し ま せ ん 。 デ フ ォ ル ト で は エ ラ ー メ ッ セ ー ジ は syslog(3) へ 送 ら れ ま す 。 -S を 使 用 す る と ’-v’ に よ る ロ グ お よ び エ ラ ー メ ッ セ ー ジ は syslog(3) へ は 送 ら れ な く な り ま す 。

-T <phone number> 送 信 文 字 列 に お い て \T 置 換 メ タ 文 字 を 置 き 換 え る 任 意 の 文 字 列 を 渡 し ま す 。 通 常 は 電 話 番 号 で す 。
-U
<phone number 2> 送 信 文 字 列 に お い て \U 置 換 メ タ 文 字 を 置 き 換 え る 第 2 文 字 列 を 渡 し ま す 。 通 常 は 電 話 番 号 で す 。 2 つ の 番 号 を 要 す る ISDN タ ー ミ ナ ル ア ダ プ タ で タ イ ア ル す る 場 合 に 有 用 で す 。

script

-f オ プ シ ョ ン の フ ァ イ ル で ス ク リ プ ト が 指 定 さ れ て い な け れ ば 、 chat プ ロ グ ラ ム に 対 す る パ ラ メ ー タ 文 字 列 が ス ク リ プ ト と し て 読 み 込 ま れ ま す 。

チ ャ ッ ト ス ク リ プ ト

chat ス ク リ プ ト に は 通 信 の 手 順 を 定 義 し ま す 。 ス ク リ プ ト は 一 つ ま た は そ れ 以 上 の 「 受 信 待 ち -送 信 」 文 字 列 の 組 か ら な り 、 そ れ ぞ れ は 空 白 で 区 切 ら れ て い ま す 。 オ プ シ ョ ン と し て 「 副 受 信 待 ち -副 送 信 」 文 字 列 の 組 を 追 加 す る こ と も で き 、 そ の 場 合 に は 以 下 の 例 の よ う に ダ ッ シ ュ で 区 切 り ま す :

ogin:-BREAK-ogin: ppp ssword: hello2u2 こ れ に よ り 、 chat プ ロ グ ラ ム は 文 字 列 "ogin:" の 受 信 待 ち を お こ な い ま す 。 も し も タ イ ム ア ウ ト す る 前 に ロ グ イ ン プ ロ ン プ ト を 受 信 で き な け れ ば 、 リ モ ー ト ホ ス ト に ブ レ ー ク 信 号 を 送 信 し 、 そ れ か ら 文 字 列 "ogin:" を 受 信 待 ち し ま す 。 も し も 最 初 の "ogin:" が 受 信 で き て い れ ば 、 ブ レ ー ク 信 号 は 送 信 さ れ ま せ ん 。 一 旦 ロ グ イ ン プ ロ ン プ ト を 受 信 す る と 、 chat プ ロ グ ラ ム は 文 字 列 ppp を 送 信 し て 、 プ ロ ン プ ト "ssword:" の 受 信 を 待 ち ま す 。 パ ス ワ ー ド プ ロ ン プ ト を 受 信 す る と 、 chat プ ロ グ ラ ム は パ ス ワ ー ド hello2u2 を 送 信 し ま す 。 応 答 文 字 列 に 続 い て 、 通 常 は キ ャ リ ッ ジ リ タ ー ン 文 字 が 送 ら れ ま す 。 「 受 信 待 ち 」 文 字 列 中 で は 、 \r 文 字 シ ー ケ ン ス で 明 示 的 に 指 定 し な い か ぎ り 、 キ ャ リ ッ ジ リ タ ー ン は 文 字 列 に 含 ま れ ま せ ん 。 目 的 の 文 字 列 を 識 別 す る の に 必 要 な 部 分 だ け を 受 信 待 ち 文 字 列 に 指 定 す る よ う に す る べ き で す 。 な ぜ な ら 、 受 信 待 ち 文 字 列 は 通 常 デ ィ ス ク フ ァ イ ル に 記 録 さ れ る た め 、 動 的 に 変 化 す る 情 報 を 含 む こ と が で き な い か ら で す 。 一 般 に は 、 時 刻 を 表 す 文 字 列 や ネ ッ ト ワ ー ク ID 文 字 列 そ の 他 の 変 化 す る デ ー タ の 塊 を 受 信 待 ち さ せ る こ と は で き ま せ ん 。 通 信 の 初 期 段 階 で は 、 文 字 が 化 け て 受 信 さ れ る 場 合 が あ り ま す 。 こ の 場 合 に も 正 し く 認 識 が で き る よ う に 、 文 字 列 "login:" で は な く "ogin:" を 待 つ よ う に し ま す 。 仮 に 最 初 の "l" と い う 文 字 が 化 け て 受 信 さ れ た と し ま す と 、 リ モ ー ト シ ス テ ム が "login:" を 送 信 し た と し て も 、 そ の 文 字 列 は 認 識 さ れ な い こ と に な り ま す 。 こ の た め 、 ス ク リ プ ト で は "login:" で は な く "ogin:" を 、 "password:" で は な く "ssword:" を 待 つ よ う に し ま す 。 非 常 に 単 純 な ス ク リ プ ト は 、 以 下 の よ う に な る で し ょ う :

ogin: ppp ssword: hello2u2 言 い か え る と 、 ....ogin: を 受 信 待 ち し て ppp を 送 信 し 、 ...ssword: を 受 信 待 ち し て hello2u2 を 送 信 す る と い う こ と に な り ま す 。 現 実 問 題 と し て は 、 単 純 な ス ク リ プ ト が 使 わ れ る こ と は ほ と ん ど な い で し ょ う 。 少 な く と も 、 最 初 の 受 信 待 ち 文 字 列 が 受 信 で き な か っ た 場 合 に 、 副 受 信 待 ち 文 字 列 を 実 行 す る よ う に す る べ き で し ょ う 。 た と え ば 、 以 下 の ス ク リ プ ト を 考 え て み ま す :

ogin:--ogin: ppp ssword: hello2u2 こ れ は 以 前 に 使 っ た 単 純 な も の よ り も 良 い ス ク リ プ ト で し ょ う 。 以 前 の も の と 同 様 に login: プ ロ ン プ ト を 待 ち ま す が 、 も し 受 信 で き な か っ た 場 合 に は リ タ ー ン を 一 つ 送 っ て か ら 再 び login: が 送 ら れ て く る の を 待 ち ま す 。 最 初 の ロ グ イ ン プ ロ ン プ ト が ラ イ ン ノ イ ズ に よ っ て 化 け た と し て も 、 空 行 が 送 ら れ る こ と で 、 通 常 は も う 一 度 ロ グ イ ン プ ロ ン プ ト が 送 信 さ れ ま す 。

コ メ ン ト

コ メ ン ト を chat ス ク リ プ ト 中 に 埋 め 込 む こ と が 可 能 で す 。 コ メ ン ト は # (ハ ッ シ ュ ) 文 字 を カ ラ ム 1 か ら 開 始 す る 行 で す 。 こ の よ う な コ メ ン ト 行 は chat プ ロ グ ラ ム は 単 に 無 視 し ま す 。 「 受 信 待 ち 」 文 字 列 の 最 初 の 文 字 が ’#’ 文 字 の 場 合 、 「 受 信 待 ち 」 文 字 列 を ク ォ ー ト す る 必 要 が あ り ま す 。 文 字 # (ハ ッ シ ュ )か ら 始 ま る プ ロ ン プ ト を 待 ち た い 場 合 に は 、 以 下 の よ う に 書 か ね ば な ら な い で し ょ う :

# Now wait for the prompt and send logout string
´# ’ logout

中 断 文 字 列

多 く の モ デ ム は ダ イ ヤ ル の 結 果 を 文 字 列 と し て レ ポ ー ト し ま す 。 こ れ ら の 文 字 列 は CONNECTED だ っ た り 、 NO CARRIERBUSY だ っ た り す る で し ょ う 。 モ デ ム が 相 手 と の 接 続 に 失 敗 し た 場 合 に は 、 ス ク リ プ ト を 終 了 さ せ た い と 思 う こ と が よ く あ る で し ょ う 。 問 題 は 、 ど の 文 字 列 を 次 に 受 信 す る か と い う こ と を 、 ス ク リ プ ト が 正 確 に 知 る こ と は で き な い と い う こ と で す 。 あ る 時 に は BUSY を 受 信 す る か も し れ ま せ ん が 、 次 に は NO CARRIER を 受 信 す る か も し れ ま せ ん 。 こ れ ら の 「 中 断 」 文 字 列 は 、 ABORT シ ー ケ ン ス に よ り ス ク リ プ ト 中 に 指 定 す る こ と が で き ま す 。 そ れ は 、 以 下 の 例 の よ う に ス ク リ プ ト に 指 定 し ま す :

ABORT BUSY ABORT ’NO CARRIER’ ’’ ATZ OK ATDT5551212 CONNECT こ の シ ー ケ ン ス は 受 信 待 ち を お こ な い ま せ ん 。 そ れ か ら 文 字 列 ATZ を 送 信 し ま す 。 受 信 待 ち 文 字 列 は OK で す 。 OK を 受 信 す る と 、 電 話 を か け る た め に 文 字 列 ATDT5551212 を 送 信 し ま す 。 受 信 待 ち 文 字 列 は CONNECT で す 。 文 字 列 CONNECT を 受 信 す る と 、 ス ク リ プ ト の 残 り が 実 行 さ れ ま す 。 一 方 、 モ デ ム が 話 中 を 検 出 す る と 、 文 字 列 BUSY が 送 ら れ て 中 断 文 字 列 へ の 一 致 が 起 こ り ま す 。 こ の 一 致 が 起 き た こ と に よ り 、 ス ク リ プ ト は 失 敗 し ま す 。 も し も 文 字 列 NO CARRIER を 受 信 す る と 、 そ れ は 同 じ 理 由 で 中 断 さ れ ま す 。 ど ち ら の 文 字 列 が 受 信 さ れ て も 、 chat ス ク リ プ ト は 終 了 し ま す 。

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 の パ ブ リ ッ ク ラ イ セ ン ス (一 般 公 有 使 用 許 諾 ) と は 異 な り ま す 。 こ の プ ロ グ ラ ム を 分 割 す る 場 合 に は 、 そ の 両 方 を 管 理 す る よ う に し て く だ さ い 。