linux C 调用getenv获取环境变量返回NULL
1、设置环境变量
vi ~/.bash_profile
增加export SYSDEV_ID=10002
2、source ~/.bash_profile使之生效
[tclient@testdb1 ~]$ echo $SYSDEV_ID
10002
3、linux C程序中使用如下语句获取环境变量:
char *penv = NULL;
penv = getenv("SYSDEV_ID");
if(penv != NULL)
g_config.sysdev_id = atoi(penv);
output(LOG, "%d", g_config.sysdev_id);//打印日志
...
程序运行后,日志打印结果是0,应该是10002才对啊。为啥呢?请各位帮忙分析一下,谢谢!
注:
1)先改环境变量,后启动程序;
2)gdb调试时打印结果是10002,但是直接运行程序,打印出来就是0