1.bash配置文件:

1).全局(bash的配置文件)

有 /etc/profile   /etc/profile.d/*  与 /etc/bashrc

其实都是bash这个程序启动的时候会读取配置信息的.

无论现在什么样的应用程序,大多数都需要用配置文件来保存用户可以进行的设定的

2).用户个人:

 和 ~/.bashrc  

我们对bash所做的任何设定,都可以将这些修改写入到这些文件中,但是这些文件还略有不同,并不是每一次bash的执行都会读取每一个bash配置文件的,这要取决于用户启动bash的启动方式(用户登陆,执行脚本)

2. bash启动运行模式:(交互和非交互模式)

1.).交互式模式

用户登录然后执行命令

2.).非交互式模式

将来我们通过系统的自动化执行命令定义好定时任务执行脚本,用户不需要登录,脚本就会运行,而脚本的运行需要解释器去执行,而bash的解释器就是bash,因此每一个脚本运行起来就会启动一个bash进程, 因此,交互式和非交互式的bash进程读取的配置文件是不一样的,而且读取次序也有所不同.

次序很关键:如果同一个变量或者设定出现了多次,那最后读取的生效。

1.  对于交互式的用户登录而言,读取次序是:

--> /etc/profile  

--> /etc/profile.d/*(会被profile文件调用全部)

--> ~/.bash_profile     

--> ~/.bashrc   

--> /etc/bashrc

对于不同的用户,其用户个人配置文件是不一样的,所以其设定结果也是不一样的.

对于非交互的bash读取配置文件(执行脚本)

(最后一个不读)

其他文件将不再读取.

配置文件有的是profile类文件,有些是bashrc类文件.

profile类

设定环境变量

运行命令或脚本  

用户登陆之前就运行一些命令或者脚本的话,就写在这里,bash登陆之前就进行的准备类工作


对全局生效

仅对该用户生效


2.  bashrc类

通常用于设定本地变量,对当前shell生效,对子shell不生效

设定命令别名