Redhat Linux /etc/profile 与 /etc/bashrc 的区别

最近学习RHCE,在umask这里,书里说要修改/etc/profile和/etc/bashrc两个文件,却没有说明这两个区别。于是在上网查看之后倒是明白了各是怎么用的。/etc/profile是对应登录的,/etc/bashrc是对应打开shell的。但是实际使用区别在哪,如果说bashrc是对应shell的,那么改这一个文件不就行了?最后自己实践一下,发现还是不同的,特此分享一下,也做个记录。

实验准备:将/etc/profile文件中的umask改为007,将/etc/bashrc中的umask改为077。

实验步骤:

  1.以root身份登录并打开shell,umask值 077

  2.su test, umask值 077

  3.su - test,umask值 007

实验结果:如果只是切换用户,不重新登录,那么profile的脚本将不会执行,从而bashrc中的脚本发生作用。

总结一下就是,打开一个shell的话,会执行shell相关的bashrc的脚本,用su -命令执行时会重新loggin,因此会再调用一次profile里的脚本。

所以,如果不想搞出歧义为自己的管理添麻烦的话,还是老老实实的改两个文件吧。由于还没时间写程序,不过如果没猜错的话,程序应该用的是bashrc里的值。

posted @ 2014-10-08 14:34  Pride Zhou  阅读(2615)  评论(0编辑  收藏  举报