/etc/profile的简单注释:

# /etc/profile


# System wide environment and startup programs, for login setup     #系统范围环境和启动程序,登录设置


# Functions and aliases go in /etc/bashrc


pathmunge () {                  #判断当前系统的PATH中是否有该命令的目录,如果没有,则判断是要将该目录放于PATH之前还是之后

if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then   #查找的路径不存在或者查找的字符串在开头或以:开头,或者在文本的末尾或以:为末尾

  if [ "$2" = "after" ] ; then   #如果第二个参数是after

     PATH=$PATH:$1               #将第一个参数添加到全局路径变量之后

  else

     PATH=$1:$PATH               #否则将第一个参数添加到全局路径变量之前

  fi

fi

}


# ksh workaround

if [ -z "$EUID" -a -x /usr/bin/id ]; then 

EUID=`id -u`       #仅打印有效用户id

UID=`id -ru`       #r:打印真实身份

fi


# Path manipulation             #设置路径

if [ "$EUID" = "0" ]; then

pathmunge /sbin

pathmunge /usr/sbin

pathmunge /usr/local/sbin

fi


# No core files by default

ulimit -S -c 0 > /dev/null 2>&1          #对软件资源做限制,core文件大小为0


if [ -x /usr/bin/id ]; then

USER="`id -un`"        #打印用户名

LOGNAME=$USER

MAIL="/var/spool/mail/$USER"       #设置用户的邮箱路径

fi


HOSTNAME=`/bin/hostname`         #设置主机名

HISTSIZE=1000                    #设置历史记录


#全局变量$INPUTRC为0,并且用户家目录下不存在.inputrc文件,则将/etc/inputrc赋值给全局变量

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then

    INPUTRC=/etc/inputrc

fi


export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC   #设置环境变量,使之在全局生效


for i in /etc/profile.d/*.sh ; do   #对/etc/profile.d/下.sh结尾的文件进行循环

    if [ -r "$i" ]; then            #如果该文件可读

        if [ "$PS1" ]; then         

            . $i                    #使用当前SHELL直接执行该文件

        else

            . $i >/dev/null 2>&1   #将执行结果抛弃

        fi

    fi

done


unset i                         #删除变量      

unset pathmunge                 #删除函数