现在的位置: 首页 > 综合 > 正文

.bash_profile and .bashrc

2013年04月11日 ⁄ 综合 ⁄ 共 1803字 ⁄ 字号 评论关闭

/etc/profile

为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行,并从/etc/profile.d目录的配置文件中搜集shell的设置,etc/profile中设定的变量的可以作用于任何用户,而~/.bashrc等中设定的变量只能继承/etc/profile中的变量。

/etc/bashrc

为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。

~/.bash_profile

用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件被执行一次。它设置一些环境变量,执行用户的.bashrc文件。

~/.bashrc

该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取。

~/.bash_logout

当每次退出bash shell时,执行该文件。

~/.bash_history

记录历史输入命令

我的系统中的相关文件如下所示,调用关系也很清楚。

# /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
pathmunge () {
if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then
if [ "$2" = "after" ] ; then
              PATH=$PATH:$1
else
              PATH=$1:$PATH
           fi
        fi
}
# ksh workaround
if [ -z "$EUID" -a -x /usr/bin/id ]; then
        EUID=`id -u`
        UID=`id -ru`
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
if [ -x /usr/bin/id ]; then
        USER="`id -un`"
        LOGNAME=$USER
        MAIL="/var/spool/mail/$USER"
fi
JAVA_HOME=`/usr/java/jdk1.6.0_14`
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi
export PATH USER JAVA_HOME LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
. $i
    fi
done
unset i
unset pathmunge

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
JAVA_HOME=/usr/java/jdk1.6.0_14
export JAVA_HOME
PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME BASH_ENV PATH
export LC_ALL=zh_CN.gb2312
export LANG=zh_CN.gb2312
export LANGUAGE=zh_CN.2312
unset USERNAME

vi .bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
Fi

# ~/.bash_logout
clear

抱歉!评论已关闭.