# 系统级别
/etc/profile
/etc/paths
# 用户级别
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc
前两个是系统级别的环境变量,针对所有用户,在系统启动时候就会加载。后面四个带有~/用户级别的环境变量。
/.bash_profile,/.bash_login,/.profile依次加载,如果/.bash_profile不存在,依次加载后面几个文件;如果~/.bash_profile文件存在,后面几个文件不会加载
~/.bashrc 是bash shell打开时候加载
全局环境变量设置
修改全局环境变量时候参考系统默认的环境变量配置格式。
修改全局环境变量需要root权限。
/etc/paths 全局建议修改这个文件
/etc/profile 不建议修改这个文件,全局共有配置,用户登录时候都会加载该文件
/etc/bashrc 一般在这个文件中添加系统级别的环境变量,全局共有配置,bash shell执行时候都会加载
用户级别环境变量设置
在~/.bash_profile中配置环境。
语法:
# 使用冒号隔开
export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
# 或者
export PATH=${PATH}:<PATH 1>
export PATH=${PATH}:<PATH 2>
# 第一种将路径合并在一起,不方便删除,建议使用第二种,换行挨个设置
实际配置:
# java
export JAVA_HOME = /home/myuser/jdk1.7.0_03
export PATH = $JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# hadoop
export HADOOP_HOME=/Users/YourUserName/Documents/Dev/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# spunk
export SPLUNK_HOME=/Applications/Splunk
export PATH=$PATH:$SPLUNK_HOME/bin
# Setting PATH for Python 3.5
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
export PATH
export CLASSPATH=${CLASSPATH}:/Users/YourUserName/Documents/Lib/hadoop_cli
# ant
export ANT_HOME=/Users/YourUserName/Documents/Dev/apache-ant-1.9.7
export PATH=$PATH:${ANT_HOME}/bin
# JBOSS
export JBOSS_HOME=/Users/YourUserName/Documents/Dev/wildfly-10.1.0.Final
export PATH=$PATH:$JBOSS_HOME/bin
# M2_HOME
export M2_HOME=/Users/YourUserName/Documents/Dev/apache-maven-3.3.9
export PATH=$PATH:$M2_HOME/bin
重新载入配置文件
在环境配置完毕后,一般是重新电脑才会生效,如果想要立即生效,执行以下指令
source <相应文件配置文件>
#示例
source .bash_profile
在 ~/.bash_profile 中配置环境变量后,发现每次重启终端后配置的环境变量都不不生效.需要重新执行命令 : $source ~/.bash_profile
发现zsh加载的是 ~/.zshrc文件,而 ‘.zshrc’ 文件中并没有定义任务环境变量。
解决办法:在~/.zshrc文件最后增加一行:
source ~/.bash_profile
#查看PATH配置的所有环境变量
echo $PATH