我用 C 语言编写了一个应用程序,它应该读取环境变量并适当地处理这些更改。当应用程序启动时,我已将其设置为继续并通过setenv("MYVARIABLE", "TEST", 1)
.
此应用程序经常循环,并且在这些循环期间,它的工作之一是通过getenv("MYVARIABLE")
.
当时的计划是让 shell 脚本或 python 脚本更改这些环境变量。C 应用程序是全屏的,所以如果没有另一个终端条目,我无法测试这个过程。在我的另一个终端 ( c2
) 中,我运行以下命令:
MYVARIABLE="My New Value"
或者
export MYVARIABLE="My New Value"
不过,我的应用程序似乎没有捕捉到环境更新。相反,它继续坚持 MYVARIABLE 是“测试”,而不是“我的新价值”。我不确定为什么这两个环境是分开的,但我需要它们一起工作。有谁知道我做错了什么?
我的系统正在为任何感兴趣的人运行 Archlinux