首页 > 解决方案 > 如何在mac上设置和使用环境变量

问题描述

在mac(Big Sur)上创建永久环境变量,然后在java项目中使用它的正确(2021方式)是什么。

关于这个主题有很多非常古老的帖子。如今,它们似乎都无法正常工作。

  1. 如何添加永久环境值(通过终端)
  2. 以及如何在 java 代码中使用它

(我也不确定如何将我的 testvar=testvalue 添加到列表中,因为我尝试了很多文件 [尽管它们似乎都不起作用],通过将“export testvar=testvalue”添加到以下文件:

同样在将其插入每个文件后,我使用了 source {file}

所以在这一点上,我不知道哪种是创建和永久拥有它的正确方法,并且能够在我的 java 代码中使用它)

到目前为止,我可以将变量打印到终端中

printenv

我的变量正在列出,例如:

testvar=testvalue

在我的java代码中,使用时我得到null

System.getenv("testvar")

但是使用其他变量名 - 这不是我创建的,但 macos 系统 - (例如 "USER" )按预期打印值。

标签: javamacosterminalenvironment-variables

解决方案


macOS Big Sur 使用zsh作为默认登录 shell 和交互式 shell。

如果您正在使用 bash 配置文件,例如设置环境变量、别名或路径变量,您应该切换到使用 zsh 等效项。例如:

  • .zprofile等效于.bash_profile并在登录时运行,包括通过 SSH
  • .zshrc等效于.bashrc并为每个新的终端会话运行

您可以在那里创建.zprofile并输入环境变量。

参考:https ://mamk2118.medium.com/setting-up-environment-variables-in-macos-mojave-and-mac-os-catalina-27ea1bb032f3


推荐阅读