Bash Shell启动配置脚本的顺序

Posted 立体风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bash Shell启动配置脚本的顺序相关的知识,希望对你有一定的参考价值。

1、Bash检查环境变量文件的方式,取决于系统运行Shell的方式,通常系统运行Shell有3种方式:

1)通过系统用户登陆后默认运行的Shell
2)非登陆交互式运行Shell
3)执行脚本运行非交互式Shell

2、第一种情况下,当用户登录Linux系统时,Shell会作为登陆Shell启动,此时Shell加载配置文件的顺序:

1)首先加载/etc/profile,这是linux系统默认的Shell主配置文件,每个登陆用户都会加载。
2)加载1后,才会执行/etc/profile.d目录下的脚本文件,这个目录下有很多脚本,都是需要用户登陆后立即运行的脚本。
3)之后运行$HOME/.bash_profile,这个文件里会调用$HOME/.bashrc(如果有,则执行,如果没有,则不执行),在$HOME/.bashrc文件中又会去找/etc/bashrc(同样是如果有,就执行,没有,就不执行)。

3、如果用户的Shell不是登陆时启动的,如:手动敲下bash时启动的,或者其他不需要输入密码的登陆,远程SSH连接等情况,这种非登陆Shell只会加载$HOME/.bashrc,并会去找/etc/bashrc,情况如2.3所示。

4、如果希望在非登陆Shell中也可以读到设置的环境变量等内容,就需要将变量设定等写入$HOME/.bashrc或者/etc/bashrc,而不是HOME/.bash_profile或者/etc/profile

5、配置文件中,常用export来定义环境变量,export的作用是将变量输出到Shell的所有进程中。

以上是关于Bash Shell启动配置脚本的顺序的主要内容,如果未能解决你的问题,请参考以下文章

bash shell学习 01(配置和启动脚本)

大坑,jenkins 配置publish over ssh bash 插件,远程部署,无法执行shell脚本

bash 脚本编程基础及配置文件

如何从 bash shell 脚本运行直线和配置单元查询

bash启动时加载配置文件过程

一个脚本测试系统环境变量配置文件的启动顺序