当前位置: 首页 > article >正文

linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)

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

查看当前环境变量:

echo $PATH

 设置: 

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

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

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

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

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 /etc/profile(切换用户的时候,有 login shell(su - root) 和 non-login shell(su root) 的区别;前者在切换的时候会加载 /etc/profile ~/.bash_profile 文件;而后者仅仅加载自身用户目录下的一些环境变量文件)

方法三:这个没有修改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,此文件保存已排好序的动态链接库名字列表.)

方法三设置稍微麻烦,好处是比较不受用户的限制。

3.环境变量配置文件

用户环境变量可存储在以下文件中:

  • ~/.profile
  • ~/.bashrc, ~/.bash_profile, ~/.bash_login(shell启动程序时,它们也会被加载,图新界面启动时不加载)

系统环境变量可存储在以下文件中:

  • /etc/profile

  • /etc/profile.d(它是文件夹)

  • /etc/bash.bashrc(图形界面环境下启动程序时,不会加载它里边的环境变量设置)

在用户登录过程先调用/etc/profile文件,这个环境变量配置文件中会定义这些默认环境变量:

(1)USER变量:根据登录的用户,给这个变量赋值

(2)LOGNAME变量:根据USER变量的值,给这个变量赋值

(3)MAIL变量:根据登录的用户,定义用户的邮箱为/var/spool/mail用户名

(4)PATH变量:根据登录用户的UID是否为0,判断PATH变量是否包含/sbin、/usr/sbin和/usr/local/sbin这三个系统命令目录。

(5)HOSTNAME变量:主机名

(6)HISTSIZE变量:定义历史命令的保存条数

(7)umask:定义umask默认权限。注意/etc/profile文件中的umask权限是在“有用户登录过程(也就是输入了用户名和密码)”时才会生效

(8)调用/etc/profile.d/*.sh文件,也就是调用/etc/profile.d/目录下所有以.sh结尾的文件。

(9)由/etc/profile文件调用~/.bash_profile文件,该文件主要实现了两个功能:调用了~/.bashrc文件和在PATH变量后面加入了“:$HOME/bin”这个目录,然后把自己的脚本放入“~/bin”目录,就可以直接执行脚本,而不用通过目录执行了。

(10)由~/.bash_profile文件调用~/.bashrc文件,通过该文件实现了定义默认级别和调用/etc/bashrc文件的功能

(11)/etc/bashrc文件则主要实现了以下功能:

1、PS1变量:也就是用户的提示符,如果我们想要永久修改提示符,就要在这个文件中修改。

2、umask:定义umask默认权限。这个文件中定义的umask是针对“没有登录过程(也就是不需要输入用户和密码时,比如从一个终端切换到另一个终端,或进入子shell)”时生效的。如果是“有用户登录过程”,则是/etc/profile文件中的umask生效。

3、PATH变量:会给PATH变量追加值,当然也是在“没有登陆过程”时才生效。

4、调用/etc/profile.d/*.sh文件,这也是在“没有用户登录过程”时才调用。

这样五个环境变量配置文件会被依次调用,如果我们自己定义的环境变量想要生效的话就可以以写入上述文件中。当然,如果是针对所有用户生效,应该写入/etc/profile环境变量配置文件;而如果只是仅仅针对自己的话,则应该写入自己的家目录下的~/.bash_profile或·~/.bashrc这两个配置文件中的任意一个。

如果我们不小心误删了这些环境变量,比如删除/etc/bashrc文件,那么提示符就会变成:

-bash-4.1#

在用户退出登录时,也会调用一个叫【~/.bash_logout】的配置文件,这个文件默认没有写入任何内容,可是如果我们希望在退出时执行一些操作,比如清楚历史命令,备份某些数据,就可以把命令写入这个文件。

 


http://www.kler.cn/a/4097.html

相关文章:

  • [计算机网络]一. 计算机网络概论第一部分
  • 【人工智能】Python中的自动化机器学习(AutoML):如何使用TPOT优化模型选择
  • macOS Sequoia 15.3 beta3(24D5055b)发布,附黑、白苹果镜像下载地址
  • 图形化界面MySQL(MySQL)(超级详细)
  • 向harbor中上传镜像(向harbor上传image)
  • Zookeeper 数据迁移实战:基础环境搭建与高效迁移方案全览
  • centos7安装mysql并添加密码
  • LeetCode SQL 607. 销售员 简单
  • Matlab实现PCA算法
  • GB28181视频平台LiveGBS如何实现主码流子码流随意智能切换,多屏播放时自动播放子码流单屏时自动主码流
  • 论文学习——Tune-A-Video
  • ChatGPT 使用 拓展资料:如何处理OpenAI 对 API 的调用限速
  • 【网络】 DNS域名解析的基本流程
  • nginx配合vite开启gzip压缩以及各种问题处理
  • 【数据分析之道-基础知识(四)】字典
  • 公司高层有必要考PMP证书吗?
  • CYAT81688如何切换模式
  • IO多路复用的三种实现:select
  • 企业电子招标采购源码之电子招标投标全流程!
  • 社科院与杜兰大学金融管理硕士项目,承载着你读研时光的喜与乐
  • 前端CI篇—重生之前端已死转行运维
  • qt发布程序后在其他电脑无法连接mysql数据库的解决方案
  • Spring源码分析-Bean创建流程三
  • webpack 配置介绍
  • 不再空谈,用 InsCode 展示你的编程实力
  • (QT)常用快捷键与代码风格学习