共计 1931 个字符,预计需要花费 5 分钟才能阅读完成。
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