名 称
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 CARRIER や BUSY だ っ た り す る で し ょ う 。 モ デ ム が 相 手 と の 接 続 に 失 敗 し た 場 合 に は 、 ス ク リ プ ト を 終 了 さ せ た い と 思 う こ と が よ く あ る で し ょ う 。 問 題 は 、 ど の 文 字 列 を 次 に 受 信 す る か と い う こ と を 、 ス ク リ プ ト が 正 確 に 知 る こ と は で き な い と い う こ と で す 。 あ る 時 に は 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 の パ ブ リ ッ ク ラ イ セ ン ス (一 般 公 有 使 用 許 諾 ) と は 異 な り ま す 。 こ の プ ロ グ ラ ム を 分 割 す る 場 合 に は 、 そ の 両 方 を 管 理 す る よ う に し て く だ さ い 。