首页 > 服务器学习 > Linux > bash中的环境变量配置文件
2016
12-16

bash中的环境变量配置文件

环境变量的配置文件主要有5类:

1、/etc/profile

2、/etc/profile.d/*.sh(所有的以.sh结尾的文件)

3、家目录/.bash_profile

4、家目录/.bashrc:如定义命令别名。

5、/etc/bashrc:重新定义所有的环境变量的值,但是仅仅是针对没有通过用户名密码登录的用户的

etc目录下的配置文件是针对所有的用户都生效的配置文件,而家目录下的是只有针对对应的用户才生效,另外该文件中重新定义的PS1环境变量是针对所有用户的

/etc/profile的主要的作用

1、USER变量:目前环境使用者的名称

2、LOGNAME变量:登录主机的用户名称

3、MAIL变量:当前登录的用户的邮箱

4、PATH变量:当前登录的用户的命令查找文件路径

5、HOSTNAME变量:主机名

6、HISTSIZE变量:历史命令条数

7、umask:默认的权限

8、调用/etc/profile.d/*.sh文件

一、环境变量的配置文件在用户输入用户名密码登录时的调用顺序:

bash中的环境变量配置文件 - 第1张  | 清河洛

先调用/etc/profile文件,/etc/profile文件中会指定调用/etc/profile.d/*.sh文件,.sh文件里也会指定调用如/etc/profile.d/lang.sh等,等这一系列的调用完成以后会把所有文件本身的变量和调用的结果整体传送给家目录/.bash_profile文件,该文件在传递的结果的基础上修改某些变量值(如给变量PATH增加"家目录/bin"等),并调用某些文件,最后整合所有的结果,等这一系列的工作完成以后会显示命令提示符。

调用顺序越靠后,优先级越高,因为后面调用的文件如果重新定义变量值的话会该变量值会变成重新定义的值。

二、环境变量的配置文件在用户没有输入用户名密码登录时的调用顺序:

横向的最后一步调用/etc/bashrc文件后,该文件会重新定义所有的环境变量的值,但是仅仅是针对没有通过用户名密码登录的用户的,然后在由该文件重新调用/etc/profile.d/*.sh等后续的调用,最后整合所有的结果。

最后,在这些所有的环境变量配置文件中,可以把环境变量随意的写到任何一个文件中,都是可以生效的,但是注意的是有些文件是针对当前登录用户修改环境变量的,有些文件是针对所有用户的,有写文件是针对没有登录的用户的,另外顺序越靠后的配置文件优先级越高。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。