环境变量设置

1. PATH:  可执行程序的查找路径

1.1 PATH变量的作用

查看当前环境变量中可执行程序的包含路径:

echo $PATH

image

1.2 增加/删除PATH路径设置:

方法一: export PATH=PATH:/XXX 但是登出后就失效

方法二:修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile

                 1. 在其中添加例如export PATH=/opt/ActivePython-2.7/bin:$PATH

                 2. source .bashrc 使修改生效

2. LIBRARY_PATH程序编译期间查找动态链接库时指定查找共享库的路径

例如,指定gcc编译需要用到的动态链接库的目录。设置方法如下(其中,LIBDIR1和LIBDIR2为两个库目录):

export LIBRARY_PATH=LIBDIR1:LIBDIR2:$LIBRARY_PATH

3. LD_LIBRARY_PATH: 动态库的查找路径

3.1 LD_LIBRARY_PATH的作用

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

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

比喻我们用minixml的开源库,编译通过,结果在运行的时候,报找不到动态库错误

image

这个错误怎么解决呢?

ld默认的目录是/lib和/usr/lib,而开源库编译生成的安装目录是/usr/local/lib,所以这个问题是没有配置环境变量LD_LIBRARY_PATH=/usr/local/lib

使用export LD_LIBRARY_PATH=/usr/local/lib

3.2 增加/修改LD_LIBRARY_PATH路径设置

方法一: export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是登出后就失效

方法二:  修改~/.bashrc或~/.bash_profile或系统级别的/etc/profile

                 1. 在其中添加例如export PATH=/opt/ActiveP/lib:$LD_LIBRARY_PATH

                 2. source .bashrc  (Source命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

方法三:这个没有修改LD_LIBRARY_PATH但是效果是一样的实现动态库的查找,

               1. /etc/ld.so.conf下面加一行/usr/local/mysql/lib

               2. 保存过后ldconfig一下(ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.)

LIBRARY_PATH和LD_LIBRARY_PATH的区别与使用:

开发时,设置LIBRARY_PATH,以便gcc能够找到编译时需要的动态链接库。

发布时,设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库。

参看链接:

https://baike.baidu.com/item/LD_LIBRARY_PATH/9391538?fr=aladdin

https://www.cnblogs.com/youyoui/p/10680329.html

https://www.cnblogs.com/lovychen/p/10911600.html

你可能感兴趣的:(linux)