在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程序看起来还可以.
编辑:基于评论
这是与subshell有关的问题.快速阅读是
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