我试图在运行时使用 system() 命令在软件中设置 linux shell 环境变量。在目标中,看不到它的设置。 例如。
snprintf(buf, sizeof(buf), "export A=%s", "luck");
system(buf);
在目标运行时尝试了 /bin/sh -c "export A=B"
但没有成功。
最佳答案
system
调用会启动一个新的 shell 并在其中运行命令。
环境变量将仅在该 shell 中设置。
要在您自己的进程中设置环境变量,请使用 putenv .
关于linux - 为什么 "export"在运行时设置 linux shell 环境变量的 linux system() 命令中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24415933/