macOS 修改添加环境变量

打印 上一主题 下一主题

主题 1767|帖子 1767|积分 5301

Mac修改环境变量

首先macOS有两个下令行工具(shell):

1.zsh
2.bash
先搞清晰你的mac现在用的是哪个(一般新一点的mac都默认用的zsh)
在终端输入
  1. echo $SHELL
复制代码
就可以看到电脑当前使用的shell

可见我电脑使用的zsh
macOS中有两个紧张的设置文件 zprofile, zshrc

在 Zsh 中,~/.zprofile 和 ~/.zshrc 是两个关键设置文件,它们的核心区别在于 加载机遇 和 实用场景。以下是具体对比和实际应用指南:

什么是「登录 Shell」和「交互式 Shell」?
登录 Shell(Login Shell):

场景:通过系统登录(如 SSH、终端初次启动*)、login 下令进入的 Shell。
特征:执行 ~/.zprofile 中的设置。
macOS 终端默认行为:通常以「登录 Shell」启动新窗口(取决于终端设置)。
交互式 Shell(Interactive Shell):

场景:用户手动输入下令的 Shell(如终端窗口、标签页)。
特征:执行 ~/.zshrc 中的设置,每次打开新终端均会加载。
应该把设置写在哪个文件?

(1) ~/.zprofile(登录 Shell 设置)

用途:
存放全局环境变量和只需执行一次的设置。
典型设置:
  1. # 环境变量(如 PATH)
  2. export PATH="/usr/local/bin:$PATH"
  3. # 启动代理(如 SSH-Agent)
  4. eval "$(ssh-agent -s)"
  5. # 系统级初始化(如加载 SDK)
  6. export JAVA_HOME=$(/usr/libexec/java_home)
复制代码
注意:
这些设置在用户登录时运行一次,之后所有子历程(包括终端窗口)都会继续这些变量
(2) ~/.zshrc(交互式 Shell 设置)

用途
存放交互式功能和每次启动 Shell 需要的设置。
典型设置
  1. # 别名(Aliases)
  2. alias ll="ls -al"
  3. # 插件和主题(如 Oh My Zsh)
  4. plugins=(git zsh-autosuggestions)
  5. ZSH_THEME="robbyrussell"
  6. # Shell 选项(如补全、历史记录)
  7. autoload -U compinit && compinit
  8. setopt HIST_IGNORE_DUPS
  9. # 函数(每次交互时可用)
  10. function mkcd() { mkdir -p "$1" && cd "$1"; }
复制代码
注意:
这些设置会在每次打开新终端窗口或标签页时执行,适合动态调解交互行为。
那么,哪些东西应该放在哪个设置文件中呢?

最佳实践

环境变量:优先放在 ~/.zprofile,克制每次启动重复加载。
交互功能:别名、插件、主题等放在 ~/.zshrc。
共享设置:若需跨 Shell 共享设置(如 Bash 和 Zsh),可创建 ~/.shared_env 文件,并在两个 Shell 的设置中引入:
  1. # 在 ~/.zprofile 和 ~/.bash_profile 中添加
  2. if [ -f ~/.shared_env ]; then
  3.   source ~/.shared_env
  4. fi
复制代码
设置文件选择

~/.zprofile:登录时运行一次,适合全局环境变量和初始化使命。
~/.zshrc:每次交互式 Shell 启动时运行,管理交互功能和动态设置。
优先级:多数用户只需关注 ~/.zshrc(90% 的设置在此),仅在需要登录时初始化使用 ~/.zprofile。
编辑环境变量

编辑环境变量有两个常用的编辑器

一个是vim

一个是nono

我个人喜欢用vim,比较简约直观。
在终端运行
  1. vim ~/.zprofile
复制代码
就进入了vim的环境变量编辑界面

按一下 I进入编辑模式,然后就可以插入你想新增的环境变量了。
编辑完成

输入 :wq 然后按回车,即可保存并退出编辑器。
至此环境变量修改完成


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表