环境变量
一、基本概念
- 一般是指在操作系统中用来指定操作系统运行环境的一些参数;
- 环境变量通常具有某些特殊用途,还有在系统当中通常具有全局特性。
二、常见环境变量
- PATH:查看可执行程序的环境变量;
- HOME:指定用户的主工作目录;
- SHELL:保存当前所使用的shell得到的环境变量,它的值通常是/bin/bash;
- LD_LIBRARY_PATH:程序运行时,库文件的搜索路径的环境变量;
- LIBRARY_PATH:程序编译时,库文件的搜索路径和环境变量。
三、常见指令
- echo $[变量名]:显示某个环境变量值。
- 在文件中修改环境变量:
①vim ~/.bash_profile
②source [修改过的环境变量文件] :在文件中修改的设置时永久生效的,需要重新加载已修改过的环境变量; - 在命令行中修改环境变量只在当前bash下有用:
①export [环境变量名] = 环境变量值
②export [环境变量名] = $[环境变量名] : [新增的环境变量]。 - env:显示所有环境变量及其值。
当前用户的环境变量:~/.bashrc / ~/.bash_profile - set:显示本地定义的shell变量和环境变量。
系统下的环境变量:/etc/bashrc - readonly:将环境变量设为只读状态。
- unset [环境变量名]:清除环境变量。
四、组织方式
每个程序都会收到一张环境表,环境表是一个字符指针数组,每个指针指向一个以’\0’结尾的环境字符串
五、通过代码获取环境变量
- 命令行参数
#include <stdio.h>
int main(int argc, char* argv[], char* env[]) //argc为命令行参数的个数
{
int i = 0;
for (; i < argc; i++)
printf("argv[%d] = [%s]\n", i, argv[i]);
for (i = 0; env[i]; i++)
printf("env[%d] = [%s]\n", i, env[i]);
return 0;
}
- 第三方变量environ获取