macOS
配置文件启动加载顺序
- /etc/profile
- /etc/paths
- /etc/bashrc
- ~/.bash_profile | ~/.bash_login | ~/.profile
其中 /etc/profile /etc/bashrc 和 /etc/paths 是系统级环境变量,对所有用户都有效。
/etc/profile
任何用户登陆时都会读取该文件
/etc/paths
任何用户登陆时都会读取该文件
/etc/bashrc
bash shell 执行时,不管是何种方式,读取此文件
如果使用的是 shell 类型是 zsh,则还可能存在对应的 /etc/zshrc 和 ~/.zshrc 。
任何用户登录 zsh 的时候,都会读取该文件。注意:macOS 中不推荐使用 ~/.bashrc 默认不会读取该文件。
文件说明
/etc/profile 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。
/etc/paths 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。并从/etc/paths.d目录的配置文件中搜集shell的设置。
/etc/bashrc:
为每一个运行bash shell的用户执行此文件。当bash shell被打开时,该文件被读取。
~/.bash_profile | ~/.bash_login | ~/.profile
每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,他设置一些环境变量,执行用户的.bashrc文件或.profile文件,具体以.bash_profile代码为准。
配置环境变量
/etc/environment(建议不修改这个文件 )
全局(公有)配置,设置整个系统的环境,而 /etc/profile 是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。
/etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件。
/etc/paths (全局建议不修改这个文件 )
全局(公有)配置,编辑 paths,将环境变量添加到 paths 文件中 ,一行一个路径,如果要添加环境变量请在 /etc/paths.d 文件夹中自行添加文件
/etc/bashrc(全局建议不修改这个文件 )
全局(公有)配置,不管是哪个用户,当bash shell被打开时都会读取该文件。
~/.bash_profile (一般在这个文件中添加用户级环境变量) 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!
添加环境变量
/etc/profile 是全系统的,~/.bash_profile 是对用户的,/.profile 是对根用户的,如设置有冲突,~/.bash_profile 和 /.profile 的设置要覆盖 /etc/profile 的设置
export 变量名="值"
编辑完成后记得要 source
source ~/.bash_profile
临时环境变量
export 命令用于设置或显示环境变量。临时环境变量仅在当前终端有效,关闭终端后自动失效。