LC_ALL=C的含义

在很多的shell脚本中,我们经常会看见某一句命令的前面有一句“LC_ALL=C”

SAR_CMD="LC_ALL=C sar -u -b 1 5 | grep -i average "

这到底是什么意思?

LC_ALL=C 是为了去除所有本地化的设置,让命令能正确执行。

---------------------------------

转帖:http://www.linuxsky.org/doc/newbie/200707/84.html

在Linux中通过locale来设置程序运行的不同语言环境,locale由ANSI C提供支持。locale的命名规则为<语言>_<地区>.<字符集编码>,如zh_CN.UTF-8,zh代表中文,CN代表大陆地区,UTF-8表示字符集。

在locale环境中,有一组变量,代表国际化环境中的不同设置:

1.    LC_COLLATE
定义该环境的排序和比较规则

2.    LC_CTYPE
用于字符分类和字符串处理,控制所有字符的处理方式,包括字符编码,字符是单字节还是多字节,如何打印等。是最重要的一个环境变量。

3.    LC_MONETARY
货币格式

4.    LC_NUMERIC
非货币的数字显示格式

5.    LC_TIME
时间和日期格式

6.    LC_MESSAGES
提示信息的语言。另外还有一个LANGUAGE参数,它与LC_MESSAGES相似,但如果该参数一旦设置,则LC_MESSAGES参数就会失效。LANGUAGE参数可同时设置多种语言信息,如LANGUANE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"。

7.    LANG
LC_*的默认值,是最低级别的设置,如果LC_*没有设置,则使用该值。类似于 LC_ALL。

8.    LC_ALL
它是一个宏,如果该值设置了,则该值会覆盖所有LC_*的设置值。注意,LANG的值不受该宏影响。

"C"是系统默认的locale,"POSIX"是"C"的别名。所以当我们新安装完一个系统时,默认的locale就是C或POSIX。

"POSIX" :Specifies the minimal environment for C-language translation called the POSIX locale. If setlocale() is not invoked, the POSIX locale is the default"C"  Equivalent to "POSIX".-----------------------------------

How to view the current locale setting?

# locale

How to change the locale setting?

* Via the CDE login locale
* As a user-specific locale
* As a system default locale
To change the current locale setting, first confirm that the desired locale is
installed on the system with:
# locale -a
de
en_AU
en_CA
en_UK
C
If the desired locale is not in the list, you will need to install the
appropriate packages for that locale. See the Note below for more information
about locale packages.

How to change the locale via the CDE login locale?
On the CDE login banner:
Choose options - languages
Under languages - choose the new locale
The CDE banner will re-cycle and then you can login to the selected locale.

NOTE: If a user has a different default locale set in their environment, the
that locale setting will override the selected CDE login locale.

How to set a user-specific locale?

Note:
For sh, ksh:
# LANG=C; export LANG
# LC_ALL=C; export LC_ALL
For csh:
# setenv LANG C
# setenv LC_ALL C

Note: To set a default locale for a user‘s environment, set the LANG or LC_*
variables in a user‘s shell intialization file such as $HOME/.profile or
$HOME/.cshrc

How to change the locale by setting the system default locale?
LANG=C
LC_ALL=C

Example from the /etc/default/init file:

# Lines of this file should be of the form VAR=value, where VAR is one of
# TZ, LANG, or any of the LC_* environment variables.
LANG=C
LC_ALL=C

Note: The system must be rebooted after making changes to the
/etc/default/init file in order for the changes to take effect.

How to verify the locale setting?
After setting or changing the locale, verify that the locale is set correctly:
Check if the locale is set correctly by running the locale command without any
options:
# locale
LANG=C
LC_CTYPE= "C"
LC_NUMERIC= "C"
LC_TIME= "C"
LC_COLLATE= "C"
LC_MONETARY= "C"
LC_MESSAGES= "C"
LC_ALL=C

Locale是某一个地域内的人们的语言习惯和文化传统和生活习惯,是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。 Locale是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory) 和字符集(Codeset)。一个locale的书写格式为: 语言[_地域[.字符集]]。完全的locale表达方式是 [语言[_地域][.字符集] [@修正值]。zh_CN.GB2312=中文_中华人民共和国+国标2312字符集。 

locale的设定:   LC_ALL和LANG优先级的关系: LC_ALL > LC_* >LANG   1、如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX,或者LANG=zh_CN.XXXX都可以。  2、如果只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定 LC_CTYPE=zh_CN.XXXX,LANG=en_US.XXXX就可以了。  3、假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。  LANG和LANGUAGE的区别:   LANG - Specifies the default locale for all unset locale variables  LANGUAGE - Most programs use this for the language of its interface  LANGUAGE是设置应用程序的界面语言。而LANG是优先级很低的一个变量,它指定所有与locale有关的变量的默认值  
时间: 2024-12-29 04:42:33

LC_ALL=C的含义的相关文章

linux中的locale,LANG

Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境.? 可以发现locale命令中,可以显示多个LC_*和LANG. 1 LANG LANG变量是language的简称,在一个系统变量,它决定系统的默认语言的,即系统的菜单.程序的工具栏语言.输入法默认语言等. LANG在登录系统后就被读取并生效,unbuntu中,是从下面这个文件中读取的. 看一下格式:zh_CN.UTF-8,其中zh_CN这个组合,在很多地方都可以看到,而完整的表达是

Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://blog.csdn.net/z4213489/article/details/7937894[好文,必看]

java socket编程中backlog的含义(zz)

使用Java.NET.ServerSocket能够方便的创建一个服务端套接字,这个类的构造函数有一个参数backlog.下面这段代码,在本机的8888端口上建立了一个套接字,backlog设置为5. [java] view plain copy // port:8888,backlog:5 ServerSocket server = new ServerSocket(8888, 5); 下面的Client是我们的测试类,会创建30个socket连接. [java] view plain copy

数字51在域名里有什么含义吗? 为什么叫51cto

数字51在域名里有什么含义吗? 为什么叫51cto

2&gt;&1 &gt;/dev/null & 与/dev/null 2&gt;&1含义

/dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到

mysql慢查询优化之explain的各列含义

mysql> explain select customer_id,first_name,last_name from customer; +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra

Spring中@Resource、@controller注解的含义

@Resource 注解被用来激活一个命名资源(named resource)的依赖注入,在JavaEE应用程序中,该注解被典型地转换为绑定于JNDI context中的一个对象. Spring确实支持使用@Resource通过JNDI lookup来解析对象,默认地,拥有与@Resource注解所提供名字相匹配的"bean name(bean名字)"的Spring管理对象会被注入. 在下面的例子中,Spring会向加了注解的setter方法传递bean名为"dataSour

RUP、XP、敏捷过程含义

1.什么是RUP RUP是一个面向对象且基于网络的程序开发方法论.是由Rational软件公司推出的一种完整而且完美的软件过程. 2.什么是XP 极限编程(XP)是敏捷过程中最富盛名的一个,其名称中"极限"二字的含义是指把好的开发实践运用到极致.目前,极限编程已经成为一种典型的开发方法,广泛应用于需求模糊且经常改变的场合. 3.什么是敏捷过程 为使软件开发团队具有高效工作和快速响应变化的能力而起草的宣言,具有下述4个简单的价值观声明组成. (1)个体和交互胜过过程和工具 (2)可以工作

过程流程图符号含义

流程图可以清晰.直观的表达文案的重点,所以在工作和生活中越来越多人使用流程图.但流程图里面的符号及含义你了解吗?你知道每个图形代表什么样的颜色吗?今天小编就来给大家普及一下过程流程图中的符号含义. 为了解释更加清晰明了,小编也通过制作流程图的方式来为大家讲解.首先就需要在网上下载一个流程图软件,小编时下载迅捷流程图制作软件来为大家举例的,直接搜索软件名下载即可. 1.打开软件时,界面会提示你选择创建新图表还是打开现有图表,这里小编创建新图表来为大家讲解. 2.进入后设置文件名,选择左侧中的流程图