[我有一个变量,该变量的java
命令具有程序参数,并且类路径包含目录中的所有jar,但是我无法正确转义星号,因此请继续获取main
未找到类错误。
这里有几个例子。 lib /包含我所有的jar。 test.Main
包含main()
类。
内联按预期工作:
java -classpath lib/* test.Main
但是,所有这些尝试均失败:
# 1)
PRARGS="-classpath lib/*" test.Main
java $PARGS
# 2)
PRARGS="-classpath lib/*" test.Main
java "$PARGS"
# 3)
PRARGS="-classpath lib/\*" test.Main
java $PARGS
# 4)
PRARGS="-classpath lib/\*" test.Main
java "$PARGS"
您不需要使星号转义,而是禁用路径扩展。
尝试一下:
PRARGS="-classpath lib/* test.Main"
set -o noglob
java $PRARGS
set +o noglob