Linux上环境变量

1.简介

在Linux上一样有很多和windows上一样的环境变量,在Linux上环境变量是用来定义系统运行环境的一些参数,
比如常见的HOME,SHELL等。

2.参考表格

变量名称 作用
HOME 用户的主目录
SHELL shell解释器
PATH 定义命令行解释器搜索用户执行命令的路径
EDITOR 用户默认的文本解释器
RANDOM 生成一个随机数字
LANG 系统语言、语系名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
PS1 Bash解释器的提示符
MAIL 邮件保存路径
LIBRARY_PATH 编译时指定的路径
LD_LIBRARY_PATH 运行时指定的动态链接库所在目录【可以使用ldd a,查看a所依赖的动态链接库位置】
C_INCLUDE_PATH gcc搜索头文件的路径
CPLUS_INCLUDE_PATH g++搜索头文件路径

备注: 动态库的搜索路径搜索的先后顺序

  • 1.编译目标代码时-L参数指定的动态库搜索路径;
  • 2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
  • 3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
  • 4.默认的动态库搜索路径/lib /usr/lib /usr/local/lib; gcc编译器查找头文件先后顺序
  • 1.先从当前目录查找所需要的头文件,(一般是用户自定义的头文件)
  • 2.gcc根据-Ixxx,指定的路径进行查找
  • 3.gcc从自身的环境变量C_INCLUDE_PATH、CPLUS_INCLUDE_PATH、OBJC_INCLUDE_PATH 中寻找所需要的头文件
  • 4.从内定目录 /usr/include /usr/local/include /usr/lib/gcc-lib/i386-li中寻找所需要的头文件

3.设置变量

3.1 在/etc/profile文件种添加变量

对所有用户生效,且为永久性的

vi /etc/profile
export MY_NAME=XXX

修改后,请source /etc/profile 生效

3.2 执行export命令定义变量

只针对当前shell有效

3.3 在用户名录下的.bash_profile文件

这种方法只针对当前用户生效,且永久
修改后,请source /home/xxx/.bash_profile