终端添加环境变量
BP=/root/code //环境名一般使用大写
export BP
echo $BP //显示/root/code
终端输入printenv 打印当前环境列表
char getenv(cont char *name)获取某个环境变量name的值,成功返回name,失败返回NULL
root@BP:~# cat a.c
#include<stdio.h>
#include<stdlib.h>
int main()
{
printf("SHELL is %s
",getenv("SHELL"));
return 0;
}
root@BP:~# gcc a.c
root@BP:~# ./a.out
SHELL is /bin/bash
root@BP:~#
在程序里调用int putenv(“envname=envvalue”)函数增加环境变量,调用失败返回非0值
root@BP:~# cat a.c
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
int main()
{
putenv("BP=/root/code");
printf("SHELL is %s
",getenv("BP"));
return 0;
}
root@BP:~# gcc a.c
root@BP:~# ./a.out
SHELL is /root/code
root@BP:~#
还有函数也可以设置环境变量
int setenv(cont char *name,cont char *value,int overwrite) //注意字符串name后面和value字符串前面都不需要有=号,因为设置时会自动增加。只要overwrite非0,那么该函数总是会改变环境
移除环境变量name
int unsetenv(cont char *name)