我在Linux中编写了一个C程序,使用来设置环境变量的值setenv
,但是执行后,当我运行set
或时export
,环境变量本身似乎未设置。为什么?
这是代码片段:
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");
环境变量在程序的上下文中设置。
程序退出时,您将返回到程序启动所在的上下文。
问题内容: 我需要拆分Django的开发和生产设置。我决定,如果设置了变量,则应用程序应使用生产设置。我阅读了这篇文章,并试图做到这一点。 我的摘要: /etc/apache2/sites-enabled/uskovtask.conf: wsgi.py: settings.py的一部分: 但是它总是导入settings_dev的设置。为什么? 问题答案: 这与来自Django wsgi.py文件的
问题内容: 我在下面的代码中只想设置一个环境变量: 运行此文件: 该调用可以正确打印,但是随后我希望在会话中也设置此env变量,但是: 什么都没有,它是空的。这是预期的行为吗?如果是这样,我如何使这个env变量在我的会话中保持不变,并使用类似这样的程序对其进行设置? 问题答案: 创建新流程时,将复制父流程的环境。在新流程中对环境所做的更改不会影响父流程。修改环境后,您必须让程序启动Shell。
问题内容: 我在运行show时有一个file.sh:未设置TERM环境变量。 问题答案: 您可以看到它是否真的没有 设置 。运行命令。 如果没有,则可以这样设置:
问题内容: 我想通过运行程序时设置环境变量。这可能吗? 我试图这样设置: 但是结果消息说FOO不存在。 问题答案: 您必须传递一个包含键 env 的选项对象,该键 env 的值本身就是键值对的对象。
问题内容: 我的服务器上有一个Upstart脚本,如下所示: 但是,该应用程序看不到NODE_ENV设置为正式生产。实际上,如果我在应用程序中使用console.log(process.env),则看不到NODE_ENV或CUSTOM。有什么想法吗? 顺便说一下,NODE_ENV =生产节点app.js可以正常工作。 问题答案: 从sudo手册页(sudo的Ubuntu版本) 有两种不同的方法来处
问题内容: 需要基于构建环境配置来设置标签的href值。 例如: 分期应有 产品应具有 当前设置: 生成命令: .env.staging.js: index.html: 在index.html中,这似乎不起作用。虽然类似的设置适用于JS文件 (可能是因为将JS文件解析并捆绑到一个文件中,并且捆绑程序在该时间点读取值) 尝试过的事情: index.html: (类似于PUBLIC_URL变量) 与浏