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


最近学习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值 022

  2.su test, umask值 077

  3.su - test,umask值 007

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

 

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


linux etc下的profile与/etc/bashrc有什不同?

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,
/etc/bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。
 

linux中的/bashrc与/etc/profile

你的 .bash_profile 有没有这些

# source the system wide bashrc if it exists
if [ -e /etc/bash.bashrc ] ; then
source /etc/bash.bashrc
fi

# source the users bashrc if it exists
if [ -e "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi

没有加入去就OK , 呵呵
 

相关内容

    暂无相关文章