我是linux的新手。我在C程序中访问我定义的环境varibales时遇到问题。
我在linux命令终端中定义了一个变量,如下所示:
$ ExampleVar="Hi"
在C程序中,我试图使用
访问它getenv("ExampleVar")
但每次都是空的。当我尝试访问其他环境变量(如USER)时,getenv会给出正确的结果。我还尝试了extern
unistd.h
集合
它也没有显示ExampleVar。
请帮帮我。
答案 0 :(得分:2)
这取决于你的shell。如果您使用bash
-see bash(1)获取更多类型
export EXAMPLEVAR="Hi"
shell中的(例如在运行程序之前的终端中),然后在C程序中使用getenv("EXAMPLEVAR")
。见getenv(3)
如果您没有export
bash变量foo
,您仍然可以在bash命令中使用$foo
,但getenv("foo")
会失败并返回NULL来自编译的C程序。
传统上,环境变量具有完整的资本名称。见environ(7)
另见env(1)命令。