I suggest taking a look at catalina.sh . This shell script runs java in both unix and cygwin environments. OpenJDK is not currently part of the Cygwin installer, and people working with Java use the Sun build MS executable. This means that the paths must be converted to Windows, and when starting Java they will be the same as if they were run from a batch file.
, catalina.sh cygpath:
case "`uname`" in
CYGWIN*) cygwin=true;;
esac
if $cygwin; then
JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"`
JRE_HOME=`cygpath --absolute --windows "$JRE_HOME"`
CATALINA_HOME=`cygpath --absolute --windows "$CATALINA_HOME"`
CATALINA_BASE=`cygpath --absolute --windows "$CATALINA_BASE"`
CATALINA_TMPDIR=`cygpath --absolute --windows "$CATALINA_TMPDIR"`
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$JSSE_HOME" ] && JSSE_HOME=`cygpath --absolute --windows "$JSSE_HOME"`
JAVA_ENDORSED_DIRS=`cygpath --path --windows "$JAVA_ENDORSED_DIRS"`
fi