char getenv的参数是什么(const char * name);?

时间:2011-09-27 10:55:31

标签: c macos unix system environment-variables

我查看了getenv()上的各种文档,他们描述的是如何使用它以及它的作用,即将其名称指定为参数的环境变量。

但是,我试图尽可能多地找到完整列表或至少可以与getenv()

一起使用的列表

我很少知道,

MANPATH
HOSTNAME
PATH
INFOPATH
PKG_CONFIG_PATH
USER

有人可以帮我扩展这份清单吗?

2 个答案:

答案 0 :(得分:3)

getenv在您的环境中查询任何变量名称。在Unix中,您可以在shell中设置任何变量,因此对可以使用的内容没有限制(在OSX中我认为它是任何没有空格的Unicode字符串) 因此没有完整的清单。

要查看您的环境中的内容,请在终端窗口中键入env

或按照Unix standard

  

环境变量的值是一串字符。对于C语言程序,当进程开始时,可​​以使用称为环境的字符串数组。外部变量environ指向该数组,其定义为:

extern char **environ;

答案 1 :(得分:3)

没有完整列表,因为任何用户或任何程序都可以使用自己的含义定义自己的环境变量。您可能会要求给定程序理解的变量的完整列表 - 在这种情况下,程序的手册页通常会列出它们。