gpt4 book ai didi

c - 环境变量 $QUERY_STRING 未包含在 *envp[] 中

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:33 25 4
gpt4 key购买 nike

我已经使用以下命令设置了一个环境变量:

QUERY_STRING='This is my query string'

这是我的程序:

#include <stdio.h>
#include <stdlib.h>

void main (int argc, char *argv[])
{
printf("%s\n", getenv("QUERY_STRING"));
}

这是我运行程序时得到的结果:

mantis@toboggan /testing/cgi_download/temp $ echo $QUERY_STRING; ./a.out
This is my query string.
Segmentation fault
mantis@toboggan /testing/cgi_download/temp $

似乎环境变量没有被设置,所以 getenv() 返回一个 NULL

我真的不知道为什么这不起作用。其他变量如 $PATH 可用。如何设置此环境变量以便我的程序可以使用它?

uname -a:

Linux toboggan 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l GNU/Linux

最佳答案

这个 shell 命令:

QUERY_STRING='This is my query string'

创建一个 shell 变量,而不是环境变量。 Shell 变量是 shell 进程的本地变量,不会像您的 a.out 那样传递给子进程。要使其成为环境变量,您需要将其导出:

export QUERY_STRING

关于c - 环境变量 $QUERY_STRING 未包含在 *envp[] 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29926950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com