您的位置:首页 > 运维架构 > Shell

bash配置文件

2014-01-21 15:25 141 查看
本文主要对linux系统bash配置文件进行比较分析。
1.首先是两个全局的配置文件。

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件.当bash
shell被打开时,该文件被读取.
2.在用户的主目录中也有bash的配置文件,它们是局部的。
如果用户的主目录下找到.bash_profile
那么在执行完/etc/profile后,将执行这个文件,如果.bash_profile找不到,找另一个文件.bash_login
如果.bash_login也不存在,再找用户目录下的.profile并执行,只对这三个文件中的一个进行执行操作。下面以ubuntu为例,进行介绍。

~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash
shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
3.需要注意的是:
设置环境变量的时候经常profile和bashrc往哪个写都可以,但它们确实不同。
profile 里面的内容,在系统登录后执行;
bashrc 则是在登录shell时才自动执行。

也即有些不使用shell的账号(如ftp_administrator,等)登陆时候,一些初始化程序或变量是一定要写在profile里面而不是另一个的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: