首页 > 解决方案 > 语言环境在 Linux 中是如何工作的?

问题描述

我试图了解语言环境在 Linux 中的工作原理。这就是我认为它的工作原理:

每个进程都有一个环境变量表,您可以启动一个进程并使用一些语言环境变量为该进程设置一些环境变量(例如:)LC_ALL=en_US.UTF-8

但是如果这个新启动的进程想要查看它的语言环境变量是什么,它不会查看环境变量表,而是有一个单独的语言环境变量表供进程查看,如下所示:

在此处输入图像描述

因此,如果进程想要使用在其环境变量表中设置的语言环境变量,它应该首先将它们复制到其语言环境变量表中。例如,要将环境变量表中的LC_ALL变量复制到语言环境变量表中,该过程执行以下操作:

setlocale (LC_ALL, "");

我的理解正确吗?如果我是正确的,所有进程都有一个语言环境变量表,还是这个表只存在于用 C 编写的程序中?

标签: clinux

解决方案


推荐阅读