profile与bashrc的深入分析

profile与bashrc的深入分析

ID:38581802

大小:47.50 KB

页数:11页

时间:2019-06-15

profile与bashrc的深入分析_第1页
profile与bashrc的深入分析_第2页
profile与bashrc的深入分析_第3页
profile与bashrc的深入分析_第4页
profile与bashrc的深入分析_第5页
资源描述:

《profile与bashrc的深入分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置./etc/bashrc: 为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取.~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文

2、件被读取.~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.~/.bash_profile是交互式、login方式进入bash运行的~/.bashrc是交互式non-login方式进入bash运行的通常二者设置大致相同,所以通常前者会调用后者。*每次bash作为loginshell启动时会执行.bash_profile。主要有(我所知道的)有以下几种情形:a)每次登录到服务器

3、时默认启动的shellb)“su-l[USER]”时进入的shellc)“bash--login”进入的shell*每次bash作为普通的交互shell(interactiveshell)启动时会执行.bashrc常见的有:i)“su[USER]”进入的shellii)直接运行“bash”命令进入的shell。**注意1,在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是  interactiveshell。2,bash作为loginshell(loginbash)启动时并不执行.bashrc。虽然该shell也是inte

4、ractiveshell,  但它不是普通的shell。*一般.bash_profile里都会调用.bashrc尽管loginbash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。,-------------------------------------

5、if[-f~/.bashrc];then

6、  .~/.bashrc

7、fi`-------------------------------------.bash_profile显示内容如下:#.bash_profile#Getthealiasesandfunctionsif[-f~/

8、.bashrc];then  .~/.bashrcfi#UserspecificenvironmentandstartupprogramsPATH=.:$PATH:$HOME/binBASH_ENV=$HOME/.bashrcUSERNAME="root"exportUSERNAMEBASH_ENVPATH用户登录后加载profile和bashrc的流程如下:1)/etc/profile-------->/etc/profile.d/*.sh2)$HOME/.bash_profile-------->$HOME/.bashrc---------->/etc/bashrc说明:bash

9、首先执行/etc/profile脚本,/etc/profile脚本先依次执行/etc/profile.d/*.sh随后bash会执行用户主目录下的.bash_profile脚本,.bash_profile脚本会执行用户主目录下的.bashrc脚本,而.bashrc脚本会执行/etc/bashrc脚本至此,所有的环境变量和初始化设定都已经加载完成.bash随后调用terminfo和inputrc,完成终端属性和键盘映射的设定.其中PATH这个变量特殊说明一下:如果是超级用户登录,在没有执行/etc/profile之前,PATH已经设定了下面的路径:/usr/local/sbin:/us

10、r/local/bin:/sbin:/bin:/usr/sbin:/usr/bin如果是普通用户,PATH在/etc/profile执行之前设定了以下的路径:/usr/local/bin:/bin:/usr/bin这里要注意的是:在用户切换并加载变量,例如su-,这时,如果用户自己切换自己,比如root用户再用su-root切换的话,加载的PATH和上面的不一样.准确的说,是不总是一样.所以,在/etc/profile脚本中,做了如下的配置:if[`id-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。