0

我正在从 shell 脚本调用一个 java 程序。Shell 脚本包含一个需要在 java 程序中使用的变量。

外壳脚本:

for s in 0 1
do
javac -cp $CLASSPATH ./src/*.java
java -cp $CLASSPATH Test
done

测试.java

main() {
sValue = ...; // here I need to get value from shell
someMethod(sValue) {
. ... . 
}
}

shell 脚本的变量 s 的值为 0 和 1。我需要在 java 程序 Test 中使用这个变量。

在我的程序中,我不能将此值作为“java -cp $CLASSPATH Test $s”的参数传递。所以请提供一些其他的解决方案。

4

2 回答 2

1

可能(取决于 shell)您将导出s变量以使其对 java 进程可见:

for s in 0 1
do
export V=$s
javac -cp $CLASSPATH ./src/*.java
java -cp $CLASSPATH Test
done

然后System.getenv("V")在 Test.java 中。

于 2013-11-11T11:11:09.617 回答
0

你想要的是System.getEnv(...)

于 2013-11-11T11:06:58.493 回答