代码如下:
@test-accd100051:~/xx$ cat a.c
#include <stdio.h>
#include <stdlib.h>
#define NAMEA "testBoardAddrFile"
int main(int argc, char* argv)
{
char * p = getenv(NAMEA);
if(NULL == p)
{
printf("error null.\n");
return -1;
}
printf("%s\n", p);
printf("aa\n");
return 0;
}
想在代码中getenv "testBoardAddrFile". 执行步骤:
export testBoardAddrFile=/mnt/workspacexxx
gcc a.c -o a
sudo ./a
test@test-accd100051:~/xx$ sudo ./a
error null.
不用sudo:
test@test-accd100051:~/xx$ ./a
/mnt/workspacexxxx
aa
这样是可以的.
那应该是sudo有问题.
解决方法: 加上-E :
test@test-accd100051:~/xx$ sudo -E ./a
/mnt/workspacexxxx
aa
解决了.