小编ple*_*ver的帖子

如何检查是否从 C 程序设置了环境变量

我目前正在开发一个程序,如果设置了环境变量,我想打印特殊输出。

例如,假设我想要环境变量"DEBUG"

在我的 bash 命令提示符中,我DEBUG通过键入以下命令进行设置: DEBUG=

然后在我的 C 程序中,我可以通过打印出char **environ. DEBUG确实出现在此环境打印输出中。

但是,我不知道如何检索此环境变量以进行条件检查。我试过像这样使用 getenv 函数:

getenv("DEBUG")
Run Code Online (Sandbox Code Playgroud)

如果我尝试打印出如下所示的输出,则会出现段错误:

printf("get env: %s\n", getenv("DEBUG"));
Run Code Online (Sandbox Code Playgroud)

我什至在一个已知的环境变量上试过这个,比如"HOME"

printf("get env: %s\n", getenv("HOME"));
Run Code Online (Sandbox Code Playgroud)

这仍然会产生段错误。

有没有人有任何经验检查是否从 C 程序设置了环境变量?我什至在拉出一个阻止我这样做的环境变量时也遇到了问题。

c unix environment-variables

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1

environment-variables ×1

unix ×1