本部分主要介绍:在 Ubuntu 系统下, source
对配置文件的操作;5 类配置文件在 shell bash 启动顺序
source
命令
- 命令
source 配置文件
或. 配置文件
- 修改配置文件系统必须重新登录,此命令解决系统重启
-
.
和source
一样,.
是source
得缩写
- 介绍
- 环境变量配置文件中主要是定义对系统得操作环境生效得系统默认环境变量,比如 PATH(定义系统查找命令得路径)、HISTSIZE(历史命令的显示命令条数)、PS1(提示符)、HOSTNAME(主机名) 等等默认环境变量。
- centOS (Linux也一样)的环境变量配置文件体系是一个层级体系。这与其他用户应用系统配置文件类似,有全局、有局部(用户),另外不同层级有时类似继承关系。
5 类环境配置文件及启动过程
-
5 类配置文件(在
/etc/
下的配置文件对所有用户都生效,在某个用户家目录下的配置文件对这个用户有效)-
/etc/profile
- 第一次系统启动后第一个用户登录时执行
/etc/profile
文件,该文件是 Shell 默认主启动文件。 - bash 执行该文件时,会读取
/etc/profile.d/
下所有*.sh
文件,通过.
或者source
来加载变量 - bash 执行该文件时,会调用
/etc/bashrc
(Ubuntu 下为/etc/bash.bashrc
) 文件来执行 -
/etc/profile
、/etc/bash.bashrc
和/etc/profile.d/*.sh
都是全局环境变量,对所有用户有效 /etc/environment
保存环境变量 PATH 的值。据说/etc/profile
保存所有用户的环境变量,/etc/environment
保存系统的环境变量
- 第一次系统启动后第一个用户登录时执行
-
/etc/profile.d/*.sh
(为一组配置文件)- 全局环境变量,对所有用户有效。
- 通过
/etc/profile
调用
-
/etc/bashrc
(Ubuntu/etc/
下的文件是bash.bashrc
)- 全局环境变量,对所有用户有效
- 通过
/etc/profile
调用
-
~/.bash_profile
(Ubuntu 用户家目录下的文件是.profile
)- 家目录下的启动文件都是用户专属启动文件,定义了该用户的环境变量
- bash 执行该文件,会调用
/etc/.bashrc
- bash 会按照下列顺序,执行第一个找到的文件,余下被忽略
~/.bash_profile
~/.bash_login
~/.profile
- 仅对此用户有效
-
~.bashrc
- 仅对此用户有效
- 通过
~/.profile
调用
-
-
5 类配置文件的优先级(在 Ubuntu 系统下;每一个 Linux 的发行版本都不样)
说明:数字越大,优先级越低
-
/etc/profile
的优先级为 5 -
/etc/profile.d
为/etc/profile
调用,并继承上述配置文件,优先级为 4 - /etc/bash.bashrc
为
/etc/profile` 调用,并继承上述配置文件,优先级为 3 -
~/.profile
的优先级为 2 -
~/.bashrc
为~/.profile
调用,并继承上述配置文件,优先级为 1 - 修改环境配置在以上 5 个文件都可以,只是优先级高的会覆盖掉优先级低的。
-