java - 如何在mac上准确设置和使用环境变量

标签 java macos terminal environment-variables

在 mac(Big Sur)上创建永久环境变量,然后在 java 项目中使用它的正确(2021 方式)是什么。
有很多关于这个主题的非常老的帖子。如今,它们似乎都无法正常工作。

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

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

  • 同样在将其插入每个文件后,我使用了 source {file}
    所以在这一点上,我不知道哪种是创建和永久拥有它的正确方法,并且能够在我的 Java 代码中使用它)
    到目前为止,我可以将变量打印到终端中
    printenv
    
    我的变量被列出,例如:
    testvar=testvalue
    
    在我的 java 代码中,我得到 使用时:
    System.getenv("testvar")
    
    但是使用其他变量名称 - 这不是由我创建的,而是 macos 系统 - (例如“USER”)按预期打印值。

    最佳答案

    macOS Big Sur 使用 zsh 作为默认登录 shell 和交互式 shell。
    如果您使用 bash 配置文件,例如设置环境变量、别名或路径变量,您应该切换到使用 zsh 等价物。例如:

  • .zprofile相当于 .bash_profile并在登录时运行,包括通过 SSH
  • .zshrc相当于 .bashrc并为每个新的终端 session 运行

  • 您可以创建 .zprofile并在那里输入输入环境变量。
    引用:https://mamk2118.medium.com/setting-up-environment-variables-in-macos-mojave-and-mac-os-catalina-27ea1bb032f3

    关于java - 如何在mac上准确设置和使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65597552/

    相关文章:

    python - 修复python多处理中多个进度条(tqdm)的跳转

    java - 具有内存中 hsqldb 的 symmetryds

    macos - OSX 上 getcwd 系统调用的问题

    java - 为什么 Intellij Idea 的字体渲染在 JDK 1.8 和 1.6 上更差

    bash - gvfs-open 打开文件时出错

    xcode - 如何在终端中卸载cordova插件

    java - 如何避免在java中重复调用方法?

    java - 如何使用字符串替换的反向引用作为 Java 中 HashMap 的键?

    java - 是否可以使用 toString 方法将对象序列化为 JSON,而无需自定义序列化程序?

    objective-c - 如何-editColumn :row:withEvent:select: with NSView-based table view using core data