无法将参数传递给jar启动程序进入shell脚本

时间:2013-08-05 13:56:21

标签: java bash shell jar parameter-passing

我遇到以下问题,这些是我的shell脚本:

#!/bin/bash
CONFIG_FOLDER=./config
JAVA_HOME=/home/lorenzo/Downloads/jdk1.7.0_25/bin
CHARSET=utf8
$JAVA_HOME/java -DconfigFolder=$CONFIG_FOLDER -jar com.lorenzo.myapp.jar 

当我运行脚本时,我收到以下错误:

/java: not foundmyscript.sh: 5: myscritp.sh: /home/lorenzo/Downloads/jdk1.7.0_25/bin

有什么想法吗?

P.S myscript.sh是发布的脚本。

编辑:

我找到了部分解决方案:

#!/bin/bash
CONFIG_FOLDER=./config
export PATH=$PATH:/home/user/jdk1.7/bin
java -DconfigFolder=$CONFIG_FOLDER -jar com.lorenzo.myapp.jar 

但是现在,我还有另外一个问题:当我运行脚本时,$ CONFIG_FOLDER的值为空。为什么?

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案!我在Windows操作系统下编写了脚本。如果我使用vim文本编辑器在Linux下打开脚本,脚本将以这种方式显示:

#!/bin/bash^M
CONFIG_FOLDER=./config^M
JAVA_HOME=/home/lorenzo/Downloads/jdk1.7.0_25/bin^M
CHARSET=utf8^M
$JAVA_HOME/java -DconfigFolder=$CONFIG_FOLDER -jar com.lorenzo.myapp.jar^M

脚本很脏!删除所有^ M脚本工作后!