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

北城以北 提交于 2019-11-28 03:06:01

最近学习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里的值。

转载于:https://www.cnblogs.com/ebread/p/4011150.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!