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

bashrc,bash_profile等shell配置文件详解

2015-01-26 12:20 281 查看

一、bashrc,bash_profile等文件执行顺序

如何确定这些文件的执行顺序呢? 最好的方法就是在这些文件的开头添加一个输出语句,这样文件一执行马上就会输出内容。

我们首先在/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc,~/.bash_logout文件开头添加以下行:

命令执行时会输出文件名和执行时间到/tmp/bashseq这个文件。

为什么不添加到文件尾部?因为这些文件可以执行,在执行过程中会调用其它文件,如果以上语句添加到文件尾部,则可能被调用的文件好像在前面执行,这就会发生错误。

修改/tmp/bashseq文件权限, 使所有用户可写:

重启一次,查看/tmp/bashseq文件,内容如下:

执行顺序为: /etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc

如下图所示:



将当前用户logout,重新login, 再查看/tmp/bashseq文件,内容如下:

多了一个~/.bash_logout,可见用户logout只执行~/.bash_logout,每次登录都会按照 /etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc的顺序执行这四个shell配置文件。

二、各个文件作用

清空/tmp/bashseq文件, 使用普通用户登录, 查看/tmp/bashseq文件,内容如下:

注意此处没有~/.bash_profile和 ~/.bashrc的记录,这是因为普通用户目录下没有这两个文件。

由此可见,上面四个文件/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc中:

前两件是全局的,每一个用户登录都会执行
后两个是专用的,针对特定用户设定.

再来看看~/.bash_profile,~/.bashrc这两个文件

.bash_profile内容:

.bash_profile作用:设置自定义的环境和开机启动程序

.bashrc内容:

.bashrc作用:设置自定义别名和函数。

三、总结

讲到这里,你应该知道了如何对bashrc,bash_profile,bash_profile进行解析了。这些文件的界限并非十分明确,但是用户和全局必须分清。掌握这些内容,有助于编写shell script,也有助于对系统进行配置。

四、参考文章

.bash_profile和.bashrc的什么区别

转载自:http://www.jsxubar.info/bashrc-bash_profile.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐