变量在shell脚本中不起作用

变量在shell脚本中不起作用,shell,cygwin,Shell,Cygwin,我有一个源代码: #!/bin/bash CLASSPATH=Test/bin/ java -cp ${CLASSPATH} "test.shell.com.RunTest" 该代码返回错误,内容如下:错误:找不到或无法加载主类test.shell.com.RunTest 但当我将其更改为: #!/bin/bash java -cp Test/bin/ "test.shell.com.RunTest" 它返回RunTest类的正确结果。 我尝试将CLASSPATH更改为其他名称,但仍然出错。

我有一个源代码:

#!/bin/bash
CLASSPATH=Test/bin/
java -cp ${CLASSPATH} "test.shell.com.RunTest"
该代码返回错误,内容如下:错误:找不到或无法加载主类test.shell.com.RunTest

但当我将其更改为:

#!/bin/bash
java -cp Test/bin/ "test.shell.com.RunTest"
它返回RunTest类的正确结果。
我尝试将CLASSPATH更改为其他名称,但仍然出错。请帮忙

您是否尝试过不使用大括号?如果在原始脚本中将
java
替换为
echo
,会发生什么情况?@LukeK it同样的问题,没有{}@Chrs,echo时返回时没有类路径。结果:
test.shell.com.RunTest
我不知道为什么它不能恢复classpath你是如何运行这个脚本的?看起来应该没事