Linux中的环境变量PATH、 LIBRARY_PATH、 LD_LIBRARY_PATH

PATH

PATH是可执行文件路径,是三个中我们最常接触到的,因为我们命令行中的每句能运行的命令,如ls、top、ps等,都是系统通过PATH找到了这个命令执行文件的所在位置,再run这个命令(可执行文件)。

实验:执行echo $PATH能看到当前环境的PATH都配置哪些路径,下面是我的环境中的PATH,其中配置的有java环境

PATH配置起来也略简单。

比如说,在用户的目录下有一个bin文件夹,里面放了有可执行的二进制文件、shell脚本等。

需求:我想在任意目录下都能运行上述bin文件夹的可执行文件。

操作:那么我只需要把这个bin的路径添加到PATH上:

# vim ~/.bash_profile
PATH=$PATH:~/bin
source /etc/profile

即可。

LIBRARY_PATH和LD_LIBRARY_PATH

这两个路径可以放在一起讨论,

  • LIBRARY_PATH是C程序编译期间查找动态链接库时指定查找共享库的路径
  • LD_LIBRARY_PATH是C程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径

两者的共同点是,库是这两个路径和PATH路径的区别,PATH是可执行文件。

两者的差异点是使用时间不一样。一个是编译期,对应的是开发阶段,如gcc编译;一个是加载运行期,对应的是程序已交付的使用阶段。

配置方法也是类似:

export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:XXXX

LIBRARY_PATH和LD_LIBRARY_PATH的设定作用是全局的,过多的使用可能会影响到其他应用程序的运行,所以多用在调试。

发布了162 篇原创文章 · 获赞 44 · 访问量 8828

猜你喜欢

转载自blog.csdn.net/P19777/article/details/104022768
今日推荐