我的程序
int main(void){
printf("Log file location : %s\n", getenv("LOG_FILE"));
return 0;
}
总是打印空值。
但我已经设置了环境
/etc/nagios/.profile 文件,其中我的用户是“nagios”,通过export LOG_FILE=/root/log
当我在终端中执行“env”命令时,我也能看到同样的结果。
我的程序
int main(void){
printf("Log file location : %s\n", getenv("LOG_FILE"));
return 0;
}
总是打印空值。
但我已经设置了环境
/etc/nagios/.profile 文件,其中我的用户是“nagios”,通过export LOG_FILE=/root/log
当我在终端中执行“env”命令时,我也能看到同样的结果。
getenv
如果您忘记写入#include <stdlib.h>
文件的标题,函数会显示非常有趣的结果。
例如,代码:
#include <stdio.h>
#include <stdlib.h>
int main(void){
printf("Log file location : %s\n", getenv("LOG_FILE"));
return 0;
}
效果很好:
LOG_FILE="log" ./a.out
Log file location : log
但是当我注释掉第二行时,我得到:
LOG_FILE="log" ./a.out
Segmentation fault (core dumped)