[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]
AIX命令参考大全,卷 5,s - u
setmaps 命令
用途
设置终端映射或代码集映射。
语法
要使用 setmaps 而不指定输入或输出映射文件,请输入以下内容:
setmaps [ -v ] [ -c | -h ]
要从缺省目录中选择一个文件作为代码集映射文件,请输入以下内容:
setmaps [ -v ] -s -i MapName
要选择一个指定文件作为代码集映射文件,请输入以下内容:
setmaps [ -v ] -s -I File1
要从缺省目录中选择一个文件作为输入或输出终端映射文件,请输入以下内容:
setmaps [ -v ] [ -D ] [ -k KeyName ] [ -d DirectoryPath ] { -i | -o } MapName
要从缺省目录中选择文件作为输入或输出终端映射文件,请输入以下内容:
setmaps [ -v ] [ -D ] [ -d DirectoryPath ] -t MapName
要选择一个指定文件作为输入或输出终端映射文件,请输入以下内容:
setmaps [ -v ] [ -D ] [ -k KeyName ]
{ -I | -O } File1
要装入缺省终端映射文件以备以后使用,请输入以下内容:
setmaps [ -v ] [ -D ] [ -k KeyName ]
[ -r ] -l File2
要装入一个指定的终端映射文件以备以后使用,请输入以下内容:
setmaps [ -v ] [ -D ] [ -k KeyName ]
[ -r ] -L File1
描述
注:如果没有 root 用户权限运行该命令,则不能装入代码集映射,仅仅可以调试。
setmaps 命令处理终端和代码集映射。-s 标志必须用于代码集映射。操作系统使用输入和输出终端映射把内部数据表示转换为异步终端支持的 ASCII 字符。如果您输入没有标志的 setmaps 命令,则它显示出当前输入和输出终端映射的名称。
终端映射是一个文本文件,它包含将模式字符串和替换字符串关联的规则列表。这个文件通常存在于 /usr/lib/nls/termmap 目录中。操作系统使用输入映射文件把键盘输入映射到应用程序,并使用输出文件把应用程序的输出映射到显示器。
终端映射工作流程如下:
- 系统将字符收集到缓冲区,直到映射文件中的规则所指定的模式与缓冲区中的子串相匹配。
- 然后,系统构造并返回规则所指定的替换字符串。
该过程继续处理缓冲区中的剩余字符。
终端映射规则可以测试和更改模式处理器的状态。由单字节字符,通常是数字(0-9)来识别该状态。当系统装入一个新的映射、刷新终端输入或输出缓冲区时(比如当它处理 KILL 或 INTR 字符或者当程序发出 ioctl 系统调用时),状态复位为 0,即初始状态。终端映射可以使用状态以在其它任务中检测多字节转义序列。您可以通过在模式中指定 @x 来测试状态 x。您可以通过将 @x 包含在替换字符串中来把设置状态为 x。
当使用 -s 标志时,setmaps 命令将代码映射指定给标准输入设备。操作系统使用代码集映射确定一个字符所需的内存字节数和所需的显示列数。
标志
-c |
在终端上清除所有的映射。 |
-d DirectoryPath |
使 DirectoryPath 变量用作包含 MapName 变量的目录的路径。指定这个标志和变量覆盖 /usr/lib/nls/termmap 目录。 |
-D |
装入映射前在标准输出设备上生成指定映射的调试程序打印输出。在新的映射上运行此调试程序时,直到映射被完全调试后才能使用 root 用户权限来运行以防止映射被实际加载。 |
-h |
打印 setmaps 命令(高级用户将其和 -v 标志一起使用)的使用信息。 |
-i MapName |
选择 /usr/lib/nls/termmap/MapName.in 文件作为输入映射。当和 -s 标志一起使用时,该标志会选择 /usr/lib/nls/csmap/MapName 文件作为终端代码集映射文件。 |
-I File1 |
选择 File1 变量的内容作为输入映射。File1 变量指定的文件可以是全路径名或者是当前工作目录的相对路径名。当和 -s 标志一起使用时,该标志会选择 File1 变量的内容作为终端代码页面映射文件。 |
-k KeyName |
将 KeyName 变量的内容和所选定的映射相关联。这个密钥名称覆盖缺省密钥,该缺省密钥一般设置为 MapName 变量的值。 |
-l File2 |
装入 /usr/lib/nls/termmap/File2 文件以备后用。File2 变量包含映射文件的全路径名和后缀(如果有的话)。
注:您必须具有 root 用户权限才能指定这个标志。 |
-L File1 |
装入指定的映射以备后用。File1 变量包含映射文件的全路径名和后缀(如果有的话)。
注:您必须具有 root 用户权限才能指定这个标志。 |
-o MapName |
选择 /usr/lib/nls/termmap/MapName.out 文件作为终端输出映射。 |
-O File1 |
选择 File1 变量的内容作为终端输出映射。File1 变量包含映射文件的全路径名和后缀(如果有的话)。 |
-r |
即使指定的映射已经装入,也要强制重新装入。使用旧映射的终端继续装入直到注销或者其映射已明确复位。如果您不指定这个标志,则仅当映射以前没有装入到内核时才能装入。
注:您必须具有 root 用户权限才能指定这个标志。 |
-s |
把任意映射看成是一个代码集映射。 |
-t MapName |
选择/usr/lib/nls/termmap/MapName.in 文件作为终端输入映射,/usr/lib/nls/termmap/MapName.out 文件作为终端输出映射。 |
-v |
选择冗长的输出。 |
所有装入的映射必须有唯一的名称。使用 -k 标志消除命名冲突。只有 -i、-o 和 -t 标志隐含地添加一个后缀。如果适当的话,其它指定映射名称的标志应该包括一个后缀。如果内核中已经装入所请求的映射名称,那么即使命令行中提供的路径信息暗示一个不同的映射,仍然该映射。
为了把代码集映射重新设置成原始状态,应该使用 /usr/lib/nls/csmap/sbcs 代码集映射。
示例
- 要显示该终端的当前映射设置,请输入:
setmaps
- 要清除当前终端的所有映射,请输入:
setmaps -c
- 要为 ibm3161-C 终端设置映射(输入和输出映射),请输入:
setmaps -t ibm3161-C
- 要把 vt220 输入映射作为 fred 映射装入内核中,请输入:
setmaps -k fred -i vt220
- 要在名为 bob.dump 文件中收集名为 bob 的新映射的调试输出,请输入:
setmaps -D -L /tmp/bob > bob.dump
- 要为终端设置符合 IBM-932 代码页的代码集映射,请输入:
setmaps -s -i IBM-932
- 要为终端设置符合 IBM-943 代码页的代码集映射,请输入:
setmaps -s -i IBM-943
- 要为终端设置来自文件 myEUC 的代码集映射,请输入:
setmaps -s -I myEUC
文件
/usr/bin/setmaps |
包含 setmaps 命令。 |
/usr/lib/nls/termmap/*.in |
包含输入映射文件。 |
/usr/lib/nls/termmap/*.out |
包含输出映射文件。 |
/usr/lib/nls/csmap/sbcs |
包含单字节代码页的代码集映射。 |
/usr/lib/nls/csmap/IBM-943 |
包含 IBM-943 代码页的代码集映射。 |
/usr/lib/nls/csmap/IBM-eucJP |
包含 IBM-eucJP 代码页的代码集映射。 |
相关信息
stty 命令。
setmaps 文件格式、termios.h 文件。
setcsmap 子例程。
AIX 5L Version 5.2 National Language Support Guide and Reference 中的 National Language Support。
[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 |
法律条款
]