profile与bashrc的深入分析.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
profile与bashrc的深入分析

/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 运行的 通常二者设置大致相同,所以通常前者会调用后者。 * 每次bash作为login shell启动时会执行.bash_profile。 主要有(我所知道的)有以下几种情形: a) 每次登录到服务器时默认启动的shell b) “su -l [USER]”时进入的shell c) “bash --login”进入的shell * 每次bash作为普通的交互shell(interactive shell)启动时会执行.bashrc 常见的有: i) “su [USER]”进入的shell ii) 直接运行“bash”命令进入的shell。 ** 注意 1, 在shell脚本中“#!/usr/bin/bash”启动的bash并不执行.bashrc。因为这里的bash不是 ? ? interactive shell。 2, bash作为login shell(login bash)启动时并不执行.bashrc。虽然该shell也是interactive shell, ? ?但它不是普通的shell。 * 一般.bash_profile里都会调用.bashrc 尽管login bash启动时不会自动执行.bashrc,惯例上会在.bash_profile中显式调用.bashrc。 ,------------------------------------- | if [ -f ~/.bashrc ]; then |? ? . ~/.bashrc | fi `------------------------------------- .bash_profile显示内容如下: # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then ? ? . ~/.bashrc fi # User specific environment and startup programs PATH=.:$PATH:$HOME/bin BASH_ENV=$HOME/.bashrc USERNAME=root export USERNAME BASH_ENV PATH 用户登录后加载profile和bashrc的流程如下: 1)/etc/profile--------/etc/profile.d/*.sh 2)$HOME/.bash_profile--------$HOME/.bashrc----------/etc/bashrc 说明: bash首先执行/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:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 如果是普通用户,PATH在/etc/profile执行之前设定了以下的路径: /usr/local/bin:/bin:/usr/

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档