2016-07-27 157 views
0

我的shell脚本知识很少。所以我想转换如下:将批处理文件转换为shell脚本(Mac上的多个jar)

@set CLASSPATH=".;.\resources\;.\lib\jboss-client.jar;.\lib\jfxtras-labs-2.2- r4.jar;.\lib\jfxrt.jar;.\lib\icecile.jar;" 

echo CLASSPATH: %CLASSPATH% 
".\jre7\bin\java" -classpath %CLASSPATH% com.ent.thing.icecile.ui.icecile 

所以这是我使用的是Mac计算机中写道

#!/bin/sh 

export CLASSPATH=/resources:/lib/jboss-client.jar:/lib/jfxtras-labs-2-r4.jar:/lib/jfxrt.jar:/lib/icecile.jar 

echo CLASSPATH: $CLASSPATH 
"java" -classpath $CLASSPATH com.ent.thing.icecile.ui.icecile 

Im和我一直在掩饰一些文档,但此并不想为我跑步。任何帮助都会很棒

+0

有什么错误吗? –

+0

找不到主类。这在结构上看起来是否正确? – Joshhw

回答

2

我的第一件事情是你的脚本看错了,你在你的类路径中使用了绝对路径。虽然这没有错,但我怀疑它是你想要的。因此,使用相对路径(./)而不是绝对路径(/)应该解决您的一个问题。

尝试:

#!/bin/sh 

# You don't need to 'export' unless you want the variable to exist 
# outside of your script 
CLASSPATH=".:./resources:./lib/jboss-client.jar:./lib/jfxtras-labs-2-r4.jar:./lib/jfxrt.jar:./lib/icecile.jar" 

echo CLASSPATH:$CLASSPATH 
java -classpath $CLASSPATH com.ent.thing.icecile.ui.icecile 
+0

这为我做了诡计。你可能会告诉我什么回声CLASSPATH:$ CLASSPATH实际上做了什么?我不得不转移这个,但我的脚本技能是初学者水平。 – Joshhw

+1

@Joshhw - 它显示单词CLASSPATH,后跟一个冒号,后面跟着变量$ CLASSPATH的内容。 – SomethingDark

+1

shell中的'echo'与批处理脚本中的'echo'或其他语言中的'print'类似,它主要用于程序员可以看到发生了什么。该行基本上是说,打印出文字** CLASSPATH:**,后面是我的'CLASSPATH'变量中的值 – iamtheib

相关问题