chlang 命令
用途
更改系统或用户的语言设置。
语法
要通过更改缺省语言设置修改环境或概要文件:
chlang [ -u UID | Uname ] [ -m MsgTransLst | -M ] 语言
要在不更改缺省语言设置的情况下修改环境或概要文件:
chlang [ -u UID | Uname ] -m MsgTransLst | -M
要从环境或概要文件除去 NLSPATH 设置:
chlang -d [ -u UID | UName ]
描述
chlang 命令是高级 shell 命令,它为整个系统或个别用户更改语言设置。 如果调用者的有效标识是 root 用户,并且没有使用 -u 选项,那么将为 /etc/environment 文件中的整个系统更改语言设置。 如果调用者的有效标识不是 root 用户,或者如果使用了 -u 选项,那么将在用户的 .profile 文件中为个别用户更改语言设置。
当使用语言(而不使用选项)运行 chlang 时,LANG 环境变量将设置为指定的语言。
当使用 -m 选项运行 chlang 时,将设置 LANG 和 NLSPATH 环境变量。 此外,如果-m参数与语言参数不同,且语言参数有系统提供的翻译可用, 则LC_MESSAGES变量将设置为-m参数 MsgTransLst中指定的第一个值 ,前提是它与语言参数不同,且语言参数具有系统提供的可用翻译。
当使用 -d 选项运行 chlang 时,将除去 NLSPATH 环境变量。
注意:
- 当修改 /etc/environment 或用户的 .profile 时, chlang 对 NLS 环境进行的更改不是立即的。 对 /etc/environment 的更改要求重新引导系统。 对用户的 .profile 的更改要求再次登录或运行 .profile 文件。
- 修改用户的配置文件时,如果用户使用 C shell (/usr/bin/csh) ,那么将修改其 .cshrc 文件而不是 .profile 文件。
标志
| 项 | 描述 |
|---|---|
| -d | 用于除去 NLSPATH 环境变量。 此选项将从 /etc/environment 或用户的 .profile 中除去 NLSPATH。 如果 NLSPATH 当前不在正在被修改的文件中,那么显示一条警告消息。 |
| -m MsgTransLst | 用于对 NSLPATH 环境变量进行更改。 MsgTransLst 是以冒号分隔的消息转换(语言环境名称)列表,它表示系统或用户所需的消息转换层次结构。 如果列表中的第一个语言不同于 Language 参数,并且 Language 参数具有系统提供的转换,那么将 LC_MESSAGES 环境变量设置为该第一个值。 如果列表中的第一个语言地区与设置的语言相同,那么将除去 LC_MESSAGES 环境变量。 列表中的所有项都成为 NLSPATH 环境中硬编码的目录。 |
| -M | 用于重新设置 LC_MESSAGES 环境变量并将 NLSPATH 环境变量设置为缺省转换层次结构,该结构为: |
| -u UID 或 UName | 用于对个别用户进行修改。 该用户可以通过用户标识号或用户登录名来指定。 如果 chlang 的有效标识是 root,那么 -u 参数必须用于为任何特定用户标识更改语言环境,包括 root 用户本身(这种情况下,没有 -u 参数将更新 /etc/environment 文件而不是 root 用户的 .profile)。 如果有效的标识不是 root,那么不需要 -u 参数。 如果指定了该参数,那么它必须与调用者的有效标识相同。 |
| 语言 | 这是语言地区(语言环境名称),它将成为 LANG 环境变量的语言环境设置。 |
退出状态
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 指示成功完成。 |
| > 0 | 指示发生错误。 |
示例
- 假定首选语言环境为挪威语,按首选顺序的语言翻译为挪威语,瑞典语和英语。 对于用户 amcleod
,完成此操作的命令如下:
将在用户 amcleod的 .profile 中进行以下设置。 由于消息转换列表中的第一个语言是挪威语,与 Language 参数一样,那么 LC_MESSAGES 将不由 chlang 来设置。 如果已经设置了 LC_MESSAGES,那么将除去它:chlang -u amcleod -m no_NO:sv_SE:en_US no_NOLANG=no_NO NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/no_NO/%N: /usr/lib/nls/msg/sv_SE/%N: /usr/lib/nls/msg/en_US/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/no_NO/%N.cat: /usr/lib/nls/msg/sv_SE/%N.cat: /usr/lib/nls/msg/en_US/%N.cat - 假定首选语言环境为法语,并且按首选顺序的语言翻译为加拿大法语和英语。 对于非 root 用户,要完成此操作,请输入:
对于用户调用 chlang,将在 .profile 文件中进行以下设置。 由于消息转换列表中的第一个语言不同于文化约定(语言环境),所以由 chlang 设置 LC_MESSAGES。chlang -m fr_CA:en_US fr_FRLANG=fr_FR LC_MESSAGES=fr_CA NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/fr_CA/%N: /usr/lib/nls/msg/en_US/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/fr_CA/%N.cat: /usr/lib/nls/msg/en_US/%N.cat - 假定西班牙的系统管理员 (root 用户权限) 正在从另一个国家或地区配置系统,并且需要更改缺省语言环境,以便机器在其新位置正常运行。 要更改 /etc/environment
文件中的缺省值,请输入:
以下设置将在 /etc/environment 文件中进行。chlang -m es_ES es_ESLANG=es_ES NLSPATH=/usr/lib/nls/msg/%L/%N: /usr/lib/nls/msg/es_ES/%N: /usr/lib/nls/msg/%L/%N.cat: /usr/lib/nls/msg/es_ES/%N.cat
文件
| 项 | 描述 |
|---|---|
| /usr/bin/chlang | 更改语言命令 |
| /etc/environment | 指定所有进程的基本环境 |
| $HOME/.profile | 指定特定的用户需要的环境 |