我正在从 shell 脚本调用 java 程序。 Shell脚本包含一个需要在java程序中使用的变量。
Shell 脚本:
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”。所以请提供一些其他解决方案。
最佳答案
可能(取决于 shell)您将导出 s
变量以使其对 java 进程可见:
for s in 0 1
do
export V=$s
javac -cp $CLASSPATH ./src/*.java
java -cp $CLASSPATH Test
done
然后在 Test.java 中System.getenv("V")
。
关于java - 如何在java程序中使用shell脚本的变量而不将其作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19904709/