环境变量修改无效主因是配置文件写错、未加载或未生效;macos catalina后默认zsh,应改~/.zshrc并source生效,gui应用需额外配置登录shell。
环境变量改了却没反应,基本是写错了地方、没加载对文件,或者根本没让新配置跑起来。macos catalina 之后默认用 zsh,但很多人还习惯往 ~/.bash_profile 里加东西,结果白忙一场。
确认你用的是哪个 shell
终端里敲:
echo $SHELL
输出 /bin/zsh 就是 zsh;输出 /bin/bash 才是 bash。别猜,一定要看实际结果。Catalina 及更新系统(包括你现在用的 macOS 2026)默认都是 zsh,所以大概率该动 ~/.zshrc。
利用 macOS 原生能力实现本地语音识别与合成。通过 yap (Apple Speech.framework) 进行语音转文字,通过 say + ffmpeg 进行文字转语音。完全离线,无需 API 密钥。具备音质检测与智能选声功能。
把变量写进正确的配置文件
不是所有文件都会被读——关键看 shell 类型和启动方式:
- zsh 用户(绝大多数人):改
~/.zshrc—— 终端新开 tab 默认读它 - zsh 登录 shell(比如远程 ssh 或某些 IDE 启动方式):也可能读
~/.zprofile - bash 用户:改
~/.bash_profile(~/.bashrc在 macOS 里默认不自动读) - 想一劳永逸兼容?可把 export 行也加到
~/.profile,部分场景会回退读取
别把 export 写成普通赋值,比如:
❌ HTTP_PROXY="http://127.0.0.1:8080"
✅ export HTTP_PROXY="http://127.0.0.1:8080"
漏掉 export,变量只在当前 shell 里存在,子进程(比如你运行的 git、curl)根本看不见。
改完必须手动加载或新开终端
编辑保存后,不会自动生效。两个靠谱办法:
- 立即生效:在当前终端运行 source ~/.zshrc(zsh)或 source ~/.bash_profile(bash)
- 验证是否成功:执行 echo $HTTP_PROXY 或 echo $PATH,看输出是否含你加的内容
- 彻底验证“永久”:关掉所有终端窗口,再全新打开一个,再
echo $PATH—— 这步不能跳,很多问题就卡在这儿
图形界面程序(如 VSCode、IDEA)不认变量?
它们启动终端时默认是「非登录 shell」,跳过了 ~/.zshrc。解决方法:
- VSCode:在设置里搜
shellArgs,添加:
"terminal.integrated.shellArgs.osx": ["-l"]
改完要完全退出 VSCode(不只是关窗口),再重开 - 其他 GUI 应用:如果发现终端里能用命令、但 IDE 的终端里不行,大概率是这个原因










