我有一个打印每一个环境变量,其名称由标准输入给出一个C程序。 它打印变量,如$ PATH,$ USER但它不会看到我定义自己在Linux shell中......例如,在〜.bashrc中我出口MYTEST = test_is_working环境变量,那么我的源bashrc中(源〜/ .bashrc中)。 我预计该计划返回与GETENV test_is_working但事实并非如此。
#include <QCoreApplication>
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
char* my_env= getenv("MYTEST");
if(my_env!=NULL){
printf("my env is : %s \n", my_env);
}
else {
printf("can't find env \n");
}
return a.exec();
}
它返回:找不到ENV
而当我打开一个终端,并进入“ENV”,我有MYTEST = test_is_working
我看到一个类似的帖子: 使用getenv的功能在哪里,解决办法是从shell启动该程序。 但我不能,因为我正在和Qtcreator调试。
我不知道我错了我,可能有人解释给我吗?
谢谢