趣文网 > 作文大全

/etc/profile与/etc/bashrc的几点记录

2021-01-01 01:05:01
相关推荐

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的

通常二者设置大致相同,通常前者会调用后者

在登录Linux时要执行文件的过程如下:

在刚登录Linux时,首先启动 /etc/profile 文件,然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile文件中的其中一个(根据不同的linux操作系统的不同,命名不一样),执行的顺序为:~/.bash_profile、 ~/.bash_login、 ~/.profile如果 ~/.bash_profile文件存在的话,一般还会执行 ~/.bashrc文件因为在 ~/.bash_profile文件中一般会有下面的代码: if [ -f ~/.bashrc ] ; then . ./bashrc fi ~/.bashrc中,一般还会有以下代码: if [ -f /etc/bashrc ] ; then . /bashrc fi 所以,~/.bashrc会调用 /etc/bashrc文件。最后,在退出shell时,还会执行 ~/.bash_logout文件。执行顺序为:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

关于各个文件的作用域,在网上找到了以下说明:

/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置;/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件;~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取;~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系;~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者;

/etc/profile和/etc/environment等各种环境变量设置文件的用处

先将export加入/etc/profile ,退出系统重新登录,登录提示显示英文。将/etc/profile 中的export删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?应该是先执行/etc/environment,后执行/etc/profile。/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。

系统应用程序的执行与用户环境可无关但与系统环境是相关的,对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment

/etc/enviroment --> /etc/profile --> $HOME/.profile -->$HOME/.env (如果存在)/etc/profile 是所有用户的环境变量/etc/enviroment是系统的环境变量登陆系统时shell读取的顺序应该是/etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

答案作文提纲 冬天的山作文 不安于现状的作文素材 济南中考满分作文 作文的优美开头 温暖的旅途700字作文 珍爱生命健康成长作文 作文厨房交响曲 介绍襄阳的作文 学生的职责作文 端午节作文 500字 什么的那一刻作文500 人间四月天作文300字 六年级作文大全500字 我错了吗作文 2013河南高考作文 很好的作文 什么什么告诉我作文 英语作文六级模板 一张全家福作文 作文优美的句子摘抄 重读这本书作文 介绍华容道作文 母爱作文250 衢州水亭门作文 天目湖一日游作文 广场作文300字 我爱古诗词作文 什么什么感觉真好作文 王国维作文素材