如何在mac上准确设置和使用环境变量
在 mac(Big Sur)上创建永久环境变量,然后在 java 项目中使用它的正确(2021 方式)是什么。
有很多关于这个主题的非常老的帖子。如今,它们似乎都无法正常工作。
- 如何添加永久环境值(通过终端)
- 以及如何在 Java 代码中使用它
(我也不确定我是如何将我的 testvar=testvalue 添加到列表中的,因为我尝试了很多文件 [尽管它们似乎都不起作用],通过将“export testvar=testvalue”添加到以下文件中:
- /etc/路径
- ~/.bashrc
- ~/.bash_profile
- ~/.profile
- /etc/配置文件
同样在将其插入每个文件后,我使用了 source {file}
所以在这一点上,我不知道哪种是创建和永久拥有它的正确方法,并且能够在我的 Java 代码中使用它)
到目前为止,我可以将变量打印到终端中
printenv
我的变量被列出,例如:
testvar=testvalue
在我的 java 代码中,我在使用时得到null:
System.getenv("testvar")
但是使用其他变量名称 - 这不是由我创建的,而是 macos 系统 - (例如“USER”)按预期打印值。
回答
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