简介:这是locale命令详解的详细页面,介绍了和linux,有关的知识、技巧、经验,和一些linux源码等。
locale 命令
用途
将有关当前语言环境或全部公共语言环境的信息写到标准输出上。
语法
locale [ -o 64 ][ -a | -m ] | [ [ -c ] [ -k ] name ... ]
描述
locale 命令将有关当前语言环境或全部公共语言环境的信息写到标准输出上。公共语言环境是所有应用程序可以使用的语言环境。
为了写出每个当前语言环境类别的名字和值,请不要指定任何标志或变量。为了写出所有可用公共语言环境的名字,请指定 -a 标志。为了写出所有可用的字符映射(charmap)文件的名称列表,请指定 -m 标志。这些字符映射文件名是 localedef 命令指定的 -f 标志的合适的值。
为了在当前语言环境中写关于指定语言环境类型和关键字的信息,请指定 name 参数。 name 参数可以为如下之一:
- 语言环境类别,诸如 lc_ctype 或 lc_messages
- 关键字,诸如 yesexpr 或 decimal_point
- 用来确定当前字符映射的 charmap 保留字符。
使用 locale 命令可以指定多个 name 参数。
如果使用了语言环境类别名而没有使用标志来指定 locale 命令,那么 locale 命令会写出由 name 参数指定的语言环境类别中的所有关键字的值。如果使用了一个语言环境关键字而没有使用标志来指定 locale 命令,那么 locale 命令会写出由 name 参数指定的关键字的值。
如果 name 参数是一个语言环境名称或关键字,那么,-c 和 -k 标志可以确定由 locale 命令显示的信息。
标志
-a | 写出所有可用的公共语言环境的名称。 |
-c | 写出选定的语言环境类别的名称。如果 name 参数是一个关键字,那么,locale 命令会写出包含了指定关键字的语言环境类别的名称以及指定关键字的值。如果 name 参数是一个语言环境类别,那么,locale 命令会写出指定语言环境类别的名称和指定语言环境类别中所有关键字的值。 |
-k | 写出选定关键字的名称和值。如果 name 参数是一个关键字,locale 命令写出指定关键字的名称和值。如果 name 参数是一个语言环境类别,locale 命令写出在指定的语言环境类别中的所有关键字的名称和值。 |
-m | 写出所有可用的字符映射(charmap)文件的名称。 |
-ck | 写出语言环境类别的名称,后面跟着选定的关键字的名称和值。如果 name 参数是一个关键字,locale 命令写出包含了指定关键字的语言环境类别的名称以及指定关键字的名称和值。如果 name 参数是一个语言环境类别,locale 命令会写出指定语言环境的名字以及在指定语言环境中的所有关键字的名称和值。 |
-o 64 | 如所示的使用 64 位可执行文件显示语言环境信息。这应该与使用 32 位可执行文件显示的语言环境信息相同。 |
退出状态
此命令返回以下的退出值:
0 | 成功找到并输出了所有所需的信息。 |
>0 | 出现一次错误。 |
示例
- 为了检索当前语言环境的所有环境变量的名称和值,请输入:
locale
如果经过 locale -a 确定,locale_x 和 locale_y 是系统上的有效语言环境,并且语言环境变量设置为如下:
lang=locale_x lc_collate=locale_y
locale 命令会生成如下的输出:
lang=locale_x lc_ctype="locale_x" lc_ctype="locale_x" lc_collate=locale_y lc_time="locale_x" lc_numeric="locale_x" lc_monetary="locale_x" lc_messages="locale_x" lc_all=
注意:当设置语言环境变量的时候,一些值包含着其它语言环境变量的值。例如,如果 lc_all 语言环境变量设置为 en_us 语言环境,那么所有的语言环境变量都被设置为 en_us 语言环境。另外,隐式值封装在双引号中(")。显式设置的值并不封装在双引号中(")。
- 为了确定当前的字符映射,请输入:
locale charmap
如果lc_all 语言环境变量设置为 c 语言环境,locale 命令会生成以下的输出:
iso8859-1
- 为了检索当前语言环境的 decimal_point 定界符的值,请输入:
locale -ck decimal_point
如果 lc_all 语言环境变量设置为 c 语言环境,locale 命令会生成以下的输出:
lc_numeric decimal_point="."