Linux环境变量及其加载顺序

  • 系统级
  • 用户级
/etc/profile.d/*.sh >/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile)
-> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

系统级

1./etc/environment:
是系统在登陆时读取的第一个文件,设置整个系统的环境变量,只要启动系统就会读取该文件,用于为所有进程设置环境变量。系统使用此文件并不执行此文件中的命令,而是根据Key=Value 模式的代码,如果要在此文件中定义PATH环境变量,需要执行:PATH=$PATH:/xxx/bin

2./etc/profile:
此文件是系统登陆执行的第二个文件,为系统的每个用户设置环境信息。当用户第一次登陆时,该文件执行,并从/etc/profile.d目录中的配置文件搜索shell的设置(可以用于设定针对全系统所有用户的环境变量,环境变量周期是永久的)

3./etc/bashrc:
这个文件是针对所有用户的bash初始化文件,在此设定中的环境信息将应用与所有用户的shell中,此文件会在用户每次打开shell时执行一次。(即每次新开一个终端,都会执行/etc/bashrc)**

用户级

1.~/.profile:
对应当前登录用户的profile文件,用于定制当前用户的个人工作环境(变量是永久性),每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。(推荐放置个人设置的地方)

2.~/.bashrc:
该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
(~/.bashrc只针对当前用户,变量的生命周期是永久的)。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。

3.~/.bash_profile or ./bash_login:/.bash_profile
是交互式login 方式进入 bash 运行的,~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
(如果~/目录下没有.bash_profile则新建立一个)这里是推荐放置个人设置的地方。当一个shell关闭时,在bash_profile中定义的系统变量则会失效。因此,每打开一个新的shell时都要运行一次source bash_profile.而且针对当前用户。

4.~/.bash_logout:
当每次退出系统(退出bash shell)时,执行该文件。另外,/etc/profile中设定的变量(全局)的可以作用于任何用户
~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是”父子”关系

参考:https://blog.csdn.net/u010533843/article/details/54986646

Linux环境变量及其加载顺序相关推荐

  1. springboot全局常量_Spring-Boot配置属性和环境变量的加载顺序

    Spring-Boot使用很方便,创建系统时,您绝对需要将"设置"和"程序"分开,在Java中,有一个名为application.property/yaml的属 ...

  2. uboot中环境变量的加载、写入过程详解

    1.uboot启动中环境变量的加载 1.1.uboot加载环境变量流程分析 (1)首先使用默认的环境变量default_environment[]: (2)然后加载SD卡中env分区的环境变量,校验读 ...

  3. linux动态库ldd加载顺序,ldd查看动态依赖库

    ldd命令用于输出程序或者库文件所依赖的共享库列表. 语法 ldd (选项) (参数) 选项 --help:显示帮助信息 --version:打印指令版本号: -v:详细信息模式,打印所有相关信息: ...

  4. zsh关于.zprofile .zlogin .zshrc .zshenv文件中环境变量的加载

    zsh下的用户环境配置文件包括.zlogin..zprofile..zshrc..zshenv和.zlogout.刚开始使用zsh,我被弄迷糊了.把这些文件使用场景记录下,以防忘记.

  5. Linux环境变量说明与配置

    相关的配置文件说明: /etc/profile 范围:对所有用户生效 作用: a.定义USER变量 b.定义LOGNAME变量 c.定义MAIL变量 d.定义PATH变量 e.定义HOSTNAME变量 ...

  6. 超详干货!Linux 环境变量配置全攻略

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习实验室 Linux环境变量配置 在自定义安装软件 ...

  7. Linux环境变量配置

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧. 在自定义安装软件的时候,经常需要 ...

  8. 中修改环境变量_超详干货!Linux环境变量配置全攻略

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

  9. 操作系统:Linux 环境变量配置的 6 种方法!

    Linux环境变量配置 在自定义安装软件的时候,经常需要配置环境变量,下面列举出各种对环境变量的配置方法. 下面所有例子的环境说明如下: 系统:Ubuntu 14.0 用户名:uusama 需要配置M ...

最新文章

  1. CC攻击工具list
  2. java ear war_[转] 基于Java的打包jar、war、ear包的作用与区别详解
  3. Boost:由内部绑定的值返回的智能指针的测试程序
  4. 零基础学习java------day7------面向对象
  5. 如何获取组SPGroup的描述Description信息
  6. 生产者消费者案例java代码
  7. 设置cookie,跨域取值
  8. php 外贸,php 外贸
  9. [vscode] 推荐插件及配置
  10. windows 2008 R2 如何更新SID
  11. zTree根据ID选中节点
  12. Layer 7 过滤 (官网介绍)
  13. 七、训练自己的声学模型
  14. python中sticky_vue-sticky组件详解
  15. 谷歌主页浏览器被流氓软件绑架设置成好123或者7456怎么办
  16. 英伟达显卡与CUDA
  17. numpy python取表格的前几行前几列 某行某列
  18. 2019语数外百度网盘初二全集下载
  19. 谷歌安卓以AAB替换APK安装包
  20. QT 读ini配置文件

热门文章

  1. 分布式事务:Alibaba Seata 如何实现分布式事务
  2. 将nc文件中的数据按月份求平均值
  3. 【Vegas原创】Centos7.8安装Gitlab
  4. 视频软件Vegas预览画面很卡怎么解决?
  5. 观“一个垃圾回收器的实现”有感
  6. Android开发_蓝牙基础
  7. 学生如何搭建自己的服务器 如何把代码放上服务器运行
  8. 【医学影像系列三】青光眼诊断眼底图像数据集|代码|论文总结|结果汇总|名词解析|评价指标
  9. Heuristic (computer science)
  10. 【数据结构周周练】007顺序结构实现完全二叉树操作- 求编号i与j最近公共祖先结点