windows + cygwin + shebang 利用時にうまくスクリプトが動かない場合の対処
windows + cygwinで、たとえばデスクトップに以下のスクリプトを配置して実行すると動かない。
test.groovy
#/usr/bin/env groovy prnltn "test"
cygwinで実行
cdcd デスクトップ ./test.groovy
$GROOVY_HOME/bin/startGroovy を以下のように修正する。
--- startGroovy.orig 2010-12-21 12:17:33.431960400 +0900 +++ startGroovy 2010-12-21 12:16:57.730434900 +0900 @@ -223,7 +223,8 @@ for arg in "$@" ; do CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` if [ $CHECK -ne 0 ] ; then - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` +# eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + eval `echo args$i`="\"`cygpath --path --ignore --mixed "$arg"`\"" else eval `echo args$i`="\"$arg\"" fi
1.7.6でもまだ修正しないといけないみたい。
誰も問題になっていないのかな?
ディスカッション
コメント一覧
groovyのユーザメーリングリストに、メール送ってみてはどうでしょうか?
開発されている方々がMACの方が多いようなので
Winの対応は漏れてしまう事が多いようです
なるほど、了解です。ありがとうございます。