系统相关
首页 > 系统相关> > 在Java程序的shell脚本/访问中设置环境变量

在Java程序的shell脚本/访问中设置环境变量

作者:互联网

我想在Ubuntu 10.04中使用Shell Scrip设置环境,并想在Java程序中访问.我写了这样的shell脚本:

#! /bin/sh
export JAVA=/home/ubuntu
echo "Variable $JAVA"

而我的java程序是:

import java.util.Map;

public class SystemEnv
{
    public static void main(String[] args)
    {

        Map<String, String> variables = System.getenv();
        for (Map.Entry<String, String> entry : variables.entrySet())
        {
           String name = entry.getKey();
           String value = entry.getValue();
           System.out.println(name + "=" + value);
        }
        System.out.println(System.getenv(("JAVA")));
    }
}

当我在不使用Shell脚本的情况下执行此命令时,它运行良好,但是在Shell脚本中却无法运行.

解决方法:

您如何采购脚本?

$./myscript.sh 

要么

$source ./myscript.sh 

第二个将环境变量设置为当前shell. Java程序看起来还可以.

编辑:基于评论

这是与subshel​​l有关的问题.快速阅读是
What is the difference between executing a bash script and sourcing a bash script?

标签:java,linux,shell,ubuntu-10-04
来源: https://codeday.me/bug/20191009/1880029.html