linux初始化某一环境变量,linux初始化环境变量配置文件详解

在 Linux 系统登录时主要生效的环境变量配置文件有以下 5 个:

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

~/.bash_profile

-/.bashrc

值得注意的是etc下的环境变量是全局变量,后面两个是当前用户环境变量,因为每个用户的家目录下都有这个配置文件。

开机读取配置文件顺序如下图:

c58482b9fd5a4372fc723a40f2187000.png

用户登录过程中先调用 /etc/profile 文件。在这个环境变量配置文件中会定义如下默认环境变量。

-USER 变量:根据登录的用户给这个变量赋值(就是让 USER 变量的值是当前用户)。

-LOGNAME 变量:根据 USER 变量的值给这个变量赋值。

-MAIL 变量:根据登录的用户来定义用户的邮箱为 /var/spool/mail/ 用户名。

-PATH 变量:根据登录用户的 UID 是否为 0,判断 PATH 变量是否包含 /sbin、/usr/sbin 和 /usr/local/sbin 这三个系统命令目录。

-HOSTNAME 变量:根据主机名给这个变量赋值。

-HISTSIZE 变量:定义历史命令的保存条数。

-umask:定义 umask 默认权限。注意:/etc/profile 文件中的 umask 权限是在"有用户登录过程(输入了用户名和密码)"时才会生效的。

-调用 /etc/profile.d/*.sh文件,也就是调用 /etc/porfile.d/ 目录下所有以 .sh 结尾的文件。

由 /etc/profile 文件调用 /etc/profile.d/*.sh 文件。该目录中所有以 .sh 结尾的文件都会被 /etc/profile 文件调用,这里最常用的就是 lang.sh 文件,而这个文件又会调用 /etc/sysconfig/i18n 文件。/etc/sysconfig/i18n 就是前面讲过的默认语系配置文件。

由 /etc/profile 文件调用 ~/.bash_profile文件。~/.bash_profile 文件就没有那么复杂了,这个文件主要实现了两个功能:

调用了 ~/.bashrc 文件。

在 PATH 变量后面加入了":$HOME/bin"这个目录。也就是说,如果我们在自己的家目录中建立了 bin 目录,然后把自己的脚本放入"~/bin"目录中,就可以直接执行脚本,而不用通过目录执行了。

由 ~/.bash_profile 文件调用 -/.bashrc 文件。在 -/.bashrc 文件中主要实现了两个功能:

定义默认别名。笔者把自己定义的别名也放入了这个文件。

调用/etc/bashrc。

由 ~/.bashrc 文件调用 /etc/bashrc 文件。在 /etc/bashrc 文件中主要定义了如下内容。

PS1 变量:也就是用户的提示符。如果我们想要永久修示符,就要在这个文件中修改。

umask:定义 umask 默认权限。这个文件中定义的 umask 是针对"没有用户登录过程(不需要输入用户名和密码,比如从一个终端切换到另一个终端,或进入子Shell)“时生效的。如果是"有用户登录过程”,则 /etc/profile 文件中的 umask 生效。

PATH 变量:会给 PATH 变量追加值,当然也是在"没有用户登陆过程"时才调用的。

调用 /etc/profile.d/*.sh 文件,这也是在没有用户登录过程"时才调用的。在"有用户登录过程"时,/etc/profile_d/*.sh 文件已经被 /etc/profile 文件调用过了。

这 5 个环境变量配置文件会被依次调用。如果是我们自己定义的环境变量,则应该放入哪个文件呢?如果你的修改是打算对所有用户生效的,那么可以放入 /etc/profile 环境变量配置文件;如果你的修改只是给自己使用的,那么可以放入 ~/.bash_profile 或 -/.bashrc 环境变量配置文件。

但是如果我们误删除了这些环境变量,比如删除了 /etc/bashrc 或 ~/.bashrc 文件,那么这些文件中的配置就会失效(~/.bashrc 文件会调用 /etc/bashrc 文件),我们的提示符就会变成下面这样:

-bash-4.1#

因为在 /etc/bashrc 文件中会设定 PS1 命令提示符,如果这个文件不存在或没有被调用,那么提示符就会是 Bash 最基本的样子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值