【问题标题】:How do i get the value of a SHELL environment variable in java我如何在java中获取SHELL环境变量的值
【发布时间】:2011-07-18 19:00:25
【问题描述】:

在 linux 命令行上:

  1. 导出 DB_SYSTEM=mysql
  2. 回显 $DB_SYSTEM 结果 = mysql
  3. 在 Java 中,我想访问和打印 DB_SYSTEM 的值

可能是:

公共属性 getEnvironment() 抛出 java.io.IOException { 属性 env = new Properties(); env.load(Runtime.getRuntime().exec("env").getInputStream()); 返回环境; } 属性 env = getEnvironment(); 字符串 myEnvVar = env.get("DB_SYSTEM");

【问题讨论】:

    标签: java


    【解决方案1】:

    只需使用System.getenv:

    String dbSystem = System.getenv("DB_SYSTEM");
    

    如果你不带参数调用它,它会返回所有的环境变量:

    Map<String, String> env = System.getenv();
    String dbSystem = env.get("DB_SYSTEM");
    

    【讨论】:

    • 谢谢,还有一个问题,IDE / JVM 如何知道 Shell 环境?在我的情况下,我正在使用 Netbeans 进行测试,并在 Shell 中声明 $ export DB_SYSTEM=mysql,当我尝试在 netbeans / JVM 中打印它时,我得到“null”
    • @kamal:确保:1. export 首先。 2. 从那个 same shell 运行 NetBeans。 (即,直接在同一个 shell 中输入netbeans,不要从图标或其他东西启动它。)
    猜你喜欢
    • 2015-05-07
    • 2013-08-10
    • 2012-05-14
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 2023-03-24
    • 2019-08-26
    • 2011-04-26
    相关资源
    最近更新 更多