铅笔

在你的害怕中坚持的越多,你就会越自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

linux环境变量和库搜索路径

Posted on 2020-11-14 12:06  黑色の铅笔  阅读(950)  评论(0编辑  收藏  举报

linux 环境变量和库搜索路径

1.环境变量

  • liunx环境变量查看命令:echo $PATH

如:

zhaob@zhaob:~/srs/srs.oschina/trunk$ echo $PATH
/home/zhaob/bin:/home/zhaob/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  • 用途:可执行程序的直接查找路径即对于设置了环境变量的目录,其里面的应用程序可以直接在任意终端直接启动
  • 设置:

    方法一:export PATH=PATH:/XXX 但是退出当前终端后就失效

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

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

                   2. source .bashrc  (Source命令也称为“点命令”,也就是一个点符号(.)。

                       source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

  

2.库搜索路径

  • 动态库的搜索路径的先后顺序是:
  1.编译目标代码时指定的动态库搜索路径;
  2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
  3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
  4.默认的动态库搜索路径/lib和/usr/lib;
  这个顺序是compile gcc时写在程序内的,通常软件源代码自带的动态库不会太多,而我们的/lib和/usr/lib只有root权限才可以修改,而且配置文件/etc/ld.so.conf也是root的事情,所以我们如果需要对动态库搜索路径进行修改就,只好对LD_LIBRARY_PATH进行操作。

 

  • 设置:

  方法一: export  LD_LIBRARY_PATH=LD_LIBRARY_PATH:/XXX 但是退出当前终端后就失效

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

      1. 在其中添加例如export LD_LIBRARY_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  生效

 

3. 自定义脚本文件定义环境变量

将自定义脚本存入/etc/profile.d 目录 ,每次开机启动后自动加载。

自定义脚本定义需要的环境变量和库搜索路径

例:

export PRJHOME=/home/test


export PRJLIB=$PRJHOME/lib

LD_LIBRARY_PATH=$PRJLIB:$LD_LIBRARY_PATH ;export LD_LIBRARY_PATH 
PATH=$PRJHOME:$PATH; export PATH 

 

参考:https://www.jianshu.com/p/a62e1d327023

https://blog.csdn.net/qq_19004627/article/details/79090052