piomsg 命令

用途

给用户发送打印机后端消息。

语法

piomsg [  -u  UserList ] [  -c MsgCatalog -sMsgSet ]  -n MsgNumber ] [  -a MsgArg ] ... [ MsgText ]

描述

piomsg 命令或者从消息编目检索打印机后端消息,或者发送指定消息文本到一个或多个用户。 piomsg 命令当打印作业被执行时运行。 典型地,piomsg 命令在打印机 colon 文件中使用以发送消息给提交打印作业的用户,同时打印作业被 piobe 命令处理。

当指定 -c-s-n 标志时, piomsg 命令从消息目录中检索消息。 该命令在 NLSPATH 环境变量中指定的目录中搜索消息。 如果 NLSPATH 环境变量没有包含目录路径,piomsg 命令搜索 /usr/lib/lpd/pio/etc 缺省目录。 如果在 /usr/lib/lpd/pio/etc 目录中找不到任何消息,那么该命令将提供在 MessageText 变量中指定的文本。 如果未指定 -c-s-n 标志,那么 piomsg 命令将返回 MessageText 变量的值 (如果有)。

针对 %s%n$s printf 子例程转换规范解析每条消息。 在将消息发送给用户之前, printf 转换规范将替换为提供的消息字符串 (如果有)。 piomsg 命令处理嵌入在消息中的转义序列,例如换行 /n 或水平选项卡 /t

标志

表 1. 标志
描述
-a MsgArg 指定消息参数字符串。 如果包含 %s%n$s printf 子例程转换规范,那么会将 MsgArg 变量的值替换到消息中。 -a 标志可以被指定多达 10 次以指定多个参数。 如果解析转换规范时发生任何错误,那么将发送原始消息。
-c MsgCatalog 指定包含要检索消息的消息编目。 -c 标志必须与 -n 标志一起指定。
-n MsgNumber 指定消息号。 -n 标志必须与 -c 标志一起指定。
-s MsgSet 指定可选消息集合。 MsgSet 变量的缺省值为 1。 -s 标志必须同时与 -c-n 标志一起指定。
-u UserList 指定接收消息的用户列表。 在 UserList 变量中的用户名或节点名被逗号分隔。 要在用户列表中包含节点名,必须指定一个后跟节点名或地址的 @ 字符。 如果 -u 标志被省略,消息就返回到启动打印作业的用户。

示例

  1. 要从 piobe.cat 消息目录中检索消息集编号 1 中的消息号 100 ,并将消息发送至与打印服务器相同的节点上的用户 joe 和节点 foobar上的 tom ,请输入:
    piomsg -u joe,tom@foobar -c piobe.cat -n 100
  2. 要向提交打印作业的用户发送带有消息参数字符串的消息,请输入:
    piomsg -a "/usr/bin/troff" "The specified filter %s is not found\n"
  3. 要从 xyz.cat中检索集合 number2 中的消息号 5 ,请在发生故障时使用虚消息,并将该消息发送到打印机,请输入:
    piomsg -cxyz.cat -s2 -n5 "xyz.cat is not installed.\n"
    注:piomsg 命令无法从使用 NLSPATH 环境变量或缺省目录指定的目录中检索消息时,会将提供的消息文本发送给用户。

文件

表 2。 文件
描述
/usr/lib/lpd/pio/etc/piomsg 包含 piomsg 命令。