做代码开发,各种工具都需要设置系统环境变量,在macos系统里面,设置环境变量与windows的配置过程有很大差别,又因为系统升级原因,导致了一些遗留问题,对于初学用户,不是很容易理解这些内容。本文对于常见的问题,进行一些讲解。
一、macos环境变量的规则
Mac存在多种设置环境变量的方式,根据加载的时机和范围不同,分为不同的文件,默认使用zsh。
MAC OS X环境的所有配置以及加载顺序如下:
# 系统级别
/etc/profile
/etc/paths
# 用户级别
~/.bash_profile
~/.bash_login
~/.profile
~/.bashrc(或者~/.zshrc)
前两个环境配置在系统启动时候就会加载,针对所有用户生效,后面四个属于具体用户级别的配置
~/.bash_profile,~/.bash_login,~/.profile依次加载,如果~/.bash_profile不存在,依次加载后面几个文件;如果~/.bash_profile文件存在,后面几个文件不会加载
~/.bashrc (或者~/.zshrc )是bash shell打开时候加载
~/.bashrc (或者~/.zshrc)的区别 zsh终端命令工具的全局变量设置,和bashrc区别是 默认很多linux系统是base,就配置在bashrc里,如里是使用zsh 就配置在 zshrc里,zsh是比bash更强大shell
二、通常设置建议(第一次使用时,需要注意)
~/.bash_profile:设置具体的环境变量
~/.zshrc:设置:source ~/.bash_profile,保证启动shell的时候~/.bash_profile环境变量生效
三、设置环境变量常用命令
#执行命令
vi ~/.zshrc
vi ~/.bash_profile
source ~/.zshrc
source ~/.bash_profile
#设置内容模板,一般是home和path两个
export M2_HOME="/usr/scala"
export PATH="$M2_HOME/bin:$PATH"
四、平时会遇到的问题
设置的jdk等环境变量已经成功,为什么再次使用shell,java命令会失效,这个参考本文第二步。