为什么不呢;“出口”;是否在linux system()cmd中工作以在运行时设置linux shell环境变量?

为什么不呢;“出口”;是否在linux system()cmd中工作以在运行时设置linux shell环境变量?,linux,shell,Linux,Shell,我试图在运行时使用system()命令在软件中设置linux shell环境变量。在目标中,无法看到它已设置。 例如 在目标运行时尝试了/bin/sh-c“export A=B”,但没有成功。系统调用启动一个新shell并在其中运行命令。 环境变量将仅在该shell中设置 要在您自己的流程中设置环境变量,请使用。您不能修改父流程的环境。您所能做的最好的事情就是源代码一个shell脚本。environment modules包使用别名来解决这个问题,别名来源于程序生成的shell脚本。manset

我试图在运行时使用system()命令在软件中设置linux shell环境变量。在目标中,无法看到它已设置。 例如


在目标运行时尝试了
/bin/sh-c“export A=B”
,但没有成功。

系统调用启动一个新shell并在其中运行命令。 环境变量将仅在该shell中设置


要在您自己的流程中设置环境变量,请使用。

您不能修改父流程的环境。您所能做的最好的事情就是
源代码
一个shell脚本。environment modules包使用别名来解决这个问题,别名来源于程序生成的shell脚本。
mansetenv
manputenv
在发布此查询之前,我尝试了setenv和putenv。更不用说我的错了。谢谢你。出于某种原因,setenv和putenv在我的linux shell中不起作用。我确实尝试过寻找一个脚本来导出/取消设置环境变量。它工作得很好。不幸的是,我没有足够的声誉投票支持这些答案。谢谢
snprintf(buf, sizeof(buf), "export A=%s", "luck");
system(buf);