系统管理指南:网络服务

/etc/uucp/Systems 文件中的聊天脚本字段

此字段(也称为登录字段)包含称为聊天脚本的字符串。聊天脚本包含本地和远程计算机必须在其初始会话中传递给对方的字符。聊天脚本具有以下格式:

expect send [expect send] ....

expect 表示本地主机为启动会话而期待从远程主机接收的字符串。send 是本地主机在从远程主机接收 expect 字符串后发送的字符串。聊天脚本可以具有多个 expect-send(期待发送)序列。

基本聊天脚本可能包含以下内容:

expect 字段可以包含的子字段形式如下:

expect[-send-expect]...

如果未成功读取前一个 expect,则会发送 -send。-send 后的 -expect 是下一个期待字符串。

例如,如果字符串为 login-login,则本地主机上的 UUCP 将期待 login。如果 UUCP 从远程计算机接收到 login,则 UUCP 将转至下一个字段。如果 UUCP 未收到 login,UUCP 将发送回车,然后再次查找 login。如果本地计算机最初不期待任何字符,请在 expect 字段中使用字符 ""(代表 NULL 字符串)。除非 send 字符串以 \c 结束,否则所有 send 字段发送时都将附加一个回车。

以下是使用 expect-send 字符串的 Systems 文件项的示例:


sonora Any ACUEC 9600 2223333 "" \r \r ogin:-BREAK-ogin: Puucpx ssword:xyzzy

本示例指示本地主机上的 UUCP 发送两个回车并等待 ogin:(对应于 Login:)。如果未收到 ogin:,则发送 BREAK。收到 ogin: 时,将发送登录名 Puucpx。收到 ssword:(对应于 Password:)时,将发送口令 xyzzy

下表列出了一些有用的转义符。

表 26–1 Systems 文件的聊天脚本字段中使用的转义符

转义符 

含义 

\b

发送或期待退格字符。 

\c

如果位于字符串结尾,则取消通常发送的回车。否则应忽略。 

\d

延迟 1 至 3 秒,然后再发送更多字符。 

\E

启动回显检查。从此刻开始,无论何时传输字符,UUCP 都会等待接收到字符后才继续执行检查。 

\e

取消回显检查。  

\H

忽略某一挂起。对回拨调制解调器使用此选项。 

\K

发送 BREAK 字符。 

\M

启用 CLOCAL 标志。

\m

禁用 CLOCAL 标志。

\n

发送或期待换行符。 

\N

发送 NULL 字符 (ASCII NUL)。 

\p

暂停大约 1/4 至 1/2 秒。 

\r

发送或期待回车。 

\s

发送或期待空格字符。 

\t

发送或期待制表符。 

EOT

发送 EOT,随后带有两次换行。 

BREAK

发送 BREAK 字符。 

\ddd

发送或期待八进制数字 (ddd) 表示的字符。