详细说明-bash_profile文件

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

作者:鹏达原文地址:https://segmentfault.com/a/1190000042192457

%s 个评论

要回复文章请先登录注册