为什么赢了';Groovy是否正确地看到JAVA_主页?

为什么赢了';Groovy是否正确地看到JAVA_主页?,groovy,puppet,Groovy,Puppet,我正试图通过Puppet在SUSE SLES 11 SP2上安装Groovy。我已经安装了Groovy文件,但现在需要设置环境变量。我正在使用shell脚本设置值,当我回显这些值时,它们是正确的 echo $JAVA_HOME /myapplication/mypath/jdk1.6.0_30 当我运行命令“groovy-version”时,我得到以下错误:/bin/javaAVA\u HOME未正确定义,无法执行:/myapplication/mypath/jdk1.6.0\u 30。 这不

我正试图通过Puppet在SUSE SLES 11 SP2上安装Groovy。我已经安装了Groovy文件,但现在需要设置环境变量。我正在使用shell脚本设置值,当我回显这些值时,它们是正确的

echo $JAVA_HOME
/myapplication/mypath/jdk1.6.0_30
当我运行命令“groovy-version”时,我得到以下错误:
/bin/javaAVA\u HOME未正确定义,无法执行:/myapplication/mypath/jdk1.6.0\u 30。

这不是打字错误,这实际上是我得到的输出!:)

这是java安装的正确路径。为什么“/bin/java”要替换“java\u HOME”中的“J”?我搜索了/bin和/usr/bin,两个目录都没有java目录

如果我在服务器上的命令行中设置这些值,一切都会正常工作

以下是我的shell脚本:

# groovy.sh
export JAVA_HOME=/myapplication/mypath/jdk1.6.0_30
export GROOVY_HOME=/myapplication/mypath/groovy-2.0.7
export PATH=$PATH:/myapplication/mypath/groovy-2.0.7/bin
以下是my puppet模块的片段:

$groovy_sh = "/etc/profile.d/groovy.sh"

file { $groovy_sh:
ensure => present,
source => "puppet:///modules/groovy/groovy.sh",
owner => "myuser",
group => "mygroup",
mode => 777,
}

这是一个Windows/Unix换行问题。我在我的模块中加入了dos2unix包,一切都按预期开始工作。感谢Kunal修复我的帖子。