添加环境变量:https://www.cnblogs.com/lovychen/p/5583703.html

一、环境变量介绍:
 在Linux系统中,环境变量按照其作用范围不同大致可以分为系统级环境变量和用户级环境变量。

  • 系统级环境变量:每一个登录到系统的用户都能够读取到系统级的环境变量;
  • 用户级环境变量:每一个登录到系统的用户只能够读取属于自己的用户级的环境变量;

  自然而然地,环境变量的配置文件也相应的被分成了系统级和用户级两种。

二、系统级:

1、/etc/profile
在系统启动后第一个用户登录时运行,并从/etc/profile.d目录的配置文件中搜集shell的设置,使用该文件配置的环境变量将应用于登录到系统的每一个用户。

提示:在Linux系统中,使用以下命令可以使配置文件立刻生效。

  source /etc/profile
  echo $PATH

2、/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc)
在 bash shell 打开时运行,修改该文件配置的环境变量将会影响所有用户使用的bash shell。

注意:这里的bash shell有不同的类别,不同的类别所使用的环境变量配置文件也有所不同。

一般情况下,非登录shell不会执行任何profile文件,非交互shell模式不会执行任何bashrc文件。

3、/etc/environment
在系统启动时运行,用于配置与系统运行相关但与用户无关的环境变量,修改该文件配置的环境变量将影响全局。

三、用户级:

1、~/.profile(推荐首选)
~/.profile: executed by Bourne-compatible login shells.

当用户登录时执行,每个用户都可以使用该文件来配置专属于自己使用的shell信息。

2、~/.bashrc
~/.bashrc: executed by bash(1) for non-login shells.

当用户登录时以及每次打开新的shell时该文件都将被读取,不推荐在这里配置用户专用的环境变量,因为每开一个shell,该文件都会被读取一次,效率肯定受影响。
生效用:source
bashrc和profile的差异
从上面的英文描述可以知道,bashrc和profile的差异在于:

  注意:通常我们修改bashrc,有些linux的发行版本不一定有profile这个文件;

    • 1. bashrc 是在系统启动后就会自动运行。
    • 2. profile 是在用户登录后才会运行。
    • 3. 进行设置后,可运用source bashrc命令更新bashrc,也可运用source profile命令更新profile。
    • 4. /etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系。

3、~/.bash_profile 或 ~./bash_login

~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile"
when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login").
However, these files won't influence a graphical session by default.

以上是ubuntu官网给出的关于~/.bash_profile 和 ~./bash_login 的说明,翻译为中文:
~/.bash_profile 或 ~./bash_login -
如果有其中的一个文件存在的话, 当启动的是一个登录shell时,Bash 会执行该文件而不会执行~/.profile ;
如果两个文件都存在的话,Bash 将会优先执行~/.bash_profile 而不是~/.bash_login ;
然而, 默认情况下,这些文件不会影响图形会话。

4、~/.bash_logout
当每次退出系统(退出bash shell)时执行该文件。

注意:Linux系统使用 $VARIABLE_NAME 访问环境变量,多个环境变量之间使用 “:”分隔,Windows系统使用 %VARIABLE_NAME% 访问环境变量,多个环境变量之间使用 ; 分隔。

四、执行顺序

一般情况下,Linux加载环境变量配置文件的执行顺序为:

==> /etc/profile
==> ~/.bash_profile | ~/.bash_login | ~/.profile
==> ~/.bashrc
==> /etc/bashrc
==> ~/.bash_logout

最新文章

  1. Vim常用命令总结
  2. 20145229&20145316《信息安全系统设计基础》实验一 开发环境的熟悉
  3. 使用Prism6 建立 Windows 10 通用程序.
  4. iOS添加另一个控制器的时候要注意啊
  5. 問題排查:行動裝置網頁前端 UI 設計 (1)
  6. 02_嵌套矩形(DAG最长路问题)
  7. Eclipse中用User Library管理jar包
  8. 【pyQuery分析论坛】精英乒乓论坛
  9. 【Android学习】调用系统短信、电话
  10. ASP.NET MVC – 关于Action返回结果类型的事儿(上)
  11. linux下登录出现-bash-3.2#解决办法
  12. linux中patch命令 -p 选项
  13. 右键打开cmd命令出错
  14. 转:【Java并发编程】之二:线程中断(含代码)
  15. 我的Spring学习记录(四)
  16. python中pygame模块的Linux下安装过程
  17. webpack4.0各个击破(7)—— plugin篇
  18. 如何只安装Postgresql client(以9.4 为例)
  19. linux基础之grep
  20. EJB3与JPA的关系

热门文章

  1. go中如何更好的迭代
  2. 调试用Chrome浏览器
  3. pip下载加速
  4. js延迟加载的性能优化
  5. 2019牛客暑期多校训练营(第五场)B:generator 1 (10进制快速幂)
  6. Proxy监听对象的数据变化,处理绑定数据很有用
  7. PureComponent & shouldComponentUpdate
  8. Java监听器中ServletRequestListener监听Request的创建和销毁
  9. SOS从内存转储中提取模块(EXE、DLL和其他二进制文件)
  10. Xamarin.Forms之样式