0

シェルスクリプトから Java プログラムを呼び出しています。シェル スクリプトには、Java プログラムで使用する必要がある 1 つの変数が含まれています。

シェル スクリプト:

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) {
. ... . 
}
}

シェル スクリプトには、値 0 と 1 の変数 s があります。この変数を Java プログラム Test で使用する必要があります。

私のプログラムでは、この値を「java -cp $CLASSPATH Test $s」のように引数として渡すことができません。したがって、他の解決策を提供してください。

4

2 に答える 2

1

おそらく (シェルによって異なります)、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 に答える