有没有一种方法可以使用Cygwin运行shell脚本并为java命令使用正确的路径分隔符
我正在尝试使用Cygwin测试一个Java应用程序的启动脚本,该应用程序将在Linux环境中运行 麻烦的是,当我指定boothclasspath或Classpath时,我需要使用操作系统特定的路径分隔符“;”用于windows,“:”用于Linux。这是因为Java仍然是本机windows应用程序,并且使用本机OS路径分隔符() shell脚本中是否有任何方法可以检测我正在运行的操作系统(或者如果我在CYGWIN中运行),并指定正确的路径分隔符 我正在尝试设置以下内容:有没有一种方法可以使用Cygwin运行shell脚本并为java命令使用正确的路径分隔符,java,bash,unix,shell,cygwin,Java,Bash,Unix,Shell,Cygwin,我正在尝试使用Cygwin测试一个Java应用程序的启动脚本,该应用程序将在Linux环境中运行 麻烦的是,当我指定boothclasspath或Classpath时,我需要使用操作系统特定的路径分隔符“;”用于windows,“:”用于Linux。这是因为Java仍然是本机windows应用程序,并且使用本机OS路径分隔符() shell脚本中是否有任何方法可以检测我正在运行的操作系统(或者如果我在CYGWIN中运行),并指定正确的路径分隔符 我正在尝试设置以下内容: MAVEN_OPTS="
MAVEN_OPTS="-Xbootclasspath/a:test/resources:live/resources"
在Windows上,它需要:
MAVEN_OPTS=“-Xbootclasspath/a:test/resources;live/resources”在这里找到了答案:
您可以使用来测试是否正在运行Cygwin,例如:
if uname | grep -iq cygwin; then
# use ; for path separator
else
# use : for path separator
fi
如果echo“${OSTYPE}”| egrep-iq'^(cygwin | msys)
if uname | grep -iq cygwin; then
# use ; for path separator
else
# use : for path separator
fi