Linux环境变量介绍和区别

0.096字数 634阅读 281

简介

  • LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
  • 环境变量文件/etc/profile/etc/bashrc~/.bashrc~/.bash_profile的区别

1. LIBRARY_PATH和LD_LIBRARY_PATH

1.1 LIBRARY_PATH

LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH
1.2 LD_LIBRARY_PATH

LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径

export LD_LIBRARY_PATH=LIBDIR1:LIBDIR2:$LD_LIBRARY_PATH

注意:LD_LIBRARY_PATH中指定的路径会在系统默认路径之前进行查找

2. 环境变量文件

2.1 /etc/profile

该文件登录操作系统时,为每个用户设置环境信息,当用户第一次登录时,该文件被执行。也就是说这个文件对每个shell都有效,用于获取系统的环境信息。

2.2 /etc/bashrc

为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。也就是说,当用户shell执行了bash时,运行这个文件。

2.3 ~/.bash_profile, ~/.bash_login or ~/.profile

profile用于登录式shell, 而bashrc用于每个交互式shell

2.4 ~/.bashrc

该文件存储的是专属于个人bash shell的信息,当登录时以及每次打开一个新的shell时,执行这个文件。在这个文件里可以自定义用户专属的个人信息。

2.5 那么在用户登录系统时候,相关的文件执行顺序是什么呢?

在刚登录Linux时,

  • 首先启动 /etc/profile文件
  • 然后再启动用户目录下的 ~/.bash_profile~/.bash_login~/.profile文件中的其中一个,执行的顺序为:~/.bash_profile~/.bash_login~/.profile
  • 如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件。

准确的说,当shell是交互式登录shell时,读取.bash_profile文件,如在系统启动、远程登录或使用su -切换用户时;当shell是交互式登录和非登录shell时都会读取.bashrc文件,如:在图形界面中打开新终端或使用su切换用户时,均属于非登录shell的情况。

.bash_profile只在会话开始时被读取一次,而.bashrc则每次打开新的终端时,都会被读取。

推荐阅读更多精彩内容