我在Linux中编写了一个C程序,使用setenv设置环境变量的值,但是执行后,当我运行setexport时,环境变量本身似乎未设置。为什么?

这是代码片段:

int main()
{
  char *mallocPtr, *callocPtr, *reallocPtr, *memalignPtr, *vallocPtr;
  struct sigaction sa;

  sa.sa_handler=SIGSEGV_handler;
  sigaction(SIGSEGV, &sa, NULL);

  if(setenv("ENV1", "3", 1) == 0)
         printf("ENV1 set to 3\n");
  else
         fprintf(stderr, "setenv failed on ENV1");

最佳答案

环境变量在程序的上下文中设置。

程序退出时,您将返回到程序启动处的上下文中。

关于c - 为什么使用setenv()后未设置环境变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6981033/

10-11 22:09