bash的环境配置文件
取得bash时需要完整的登录流程,简称login shell。login shell一般只读取两个配置文件:
/etc/profile :系统整体的设置
~/.bash_profile或~/.bash_login或~/.profile:用户个人设置
/etc/profile
每个用户登录取得bash,一定会读取的配置文件。不建议修改
该文件设置的主要变量:
PATH:根据UID决定PATH变量要不要含有sbin的系统命令目录
MAIL:根据账户设置好的用户的mailbox到/var/spool/mail账户名
USER:根据用户的账户设置此变量内容
HOSTNAME:根据主机的hostname命令决定此变量内容
HISTSIZE:历史命令记录条数
umask:包括root默认为022,而一般用户为002等
并且默认依序调用以下文件:
/etc/profile.d/*.sh:/etc/profile.d目录下sh后缀的问价都会被执行,该目录下主要规范了bash界面的颜色、语系、ll与ls命令的别名、which别名、vi别名等
/etc/locale.conf:这个文件由/etc/profile.d/lang.sh调用,决定了bash默认使用那个语系,其中最重要的是LANG/LC_ALL这个变量的设置
/usr/share/bash-completion/completiopns/*:命令补全、文件名补全、命令的选项/参数补全,由/etc/profile.d/bash_completyion.sh文件加载执行
~/.bash_profile
login shell的bash环境时候,只会执行下面三个文件中的其中一个,依序
~/.bash_profile
~/.bash_login
~/.profile
如果~/.bash_profile这个不存在,才会读取~/.bash_login。
.bash_profile
Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
User specific environment and startup programs
export PS1="[\u@\h \w]$ "
set Java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.45.x86_64
[JACOCO_COMMENT]JAVA_HOME=/xxxx/jdk7
export JAVA_HOME=/home/xxoo/jacoco/jdk/jdk7
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
alias l='ls -ltr --color=none'
alias ls='ls --color=none'
alias cls="clear"
export JACOCO_AGENT_JAR_PATH=/home/xxoo/jacoco/jacoco/jacoco-0.8.1-rel/lib/jacocoagent.jar
该文件第三行的if语句是判断是否存在~/.bashrc文件,若存在就读入~/.bashrc文件的配置。读取bash的配置文件(~/.bashrc等),主要通过命令source读取。
对于jacoco主要是下面两个全局变量:
export JAVA_HOME=/home/xxoo/jacoco/jdk/jdk7
export JACOCO_AGENT_JAR_PATH=/home/xxoo/jacoco/jacoco/jacoco-0.8.1-rel/lib/jacocoagent.jar
JAVA_HOME:设置系统java命令为jacoco目录下的java,其中jacoco下的java是一个脚本文件
JACOCO_AGENT_JAR_PATH:使用java启动应用时候添加的一个参数
其他配置文件:
~/.bash_history:默认情况下,历史命令记录在这个文件里面,记录条数则与变量HISTSIZE变量有关,每次登陆bash,bash会读取这个文件,并且把所有历史命令读入到内存。
~/.bash_logout:这个问价主要是【当你注销bash后,系统帮你做完什么操作才离开】,默认情况是清理屏幕信息,也可以吧一些备份或者重要的任务写在这个文件里面(清理缓存)。
参考链接:
Understanding bash_profile file in Linux