1

/cygdrive/c 在我的 bash 脚本中不起作用。此处列出了代码行。

PRGPATH="`dirname "$0"`" exec "${PRGPATH}/../../java" .... "${PRGPATH}/xxxx.jar"

结果是Unable to access jarfile /cygdrive/c/app/xxxx.jar

但如果我使用ls /cygdrive/c/app/xxxx.jar,它就在那里。如果我替换/cygdrive/c/c:/then,则脚本有效。为什么/cygdrive/c/在脚本中不起作用?

4

1 回答 1

2

java.exe是一个 Windows 程序,c:\...在其参数中需要 Windows 样式的路径,而不是 Cygwin 样式的/cygdrive/c/...路径。

Cygwin 带有cygpath实用程序,用于在两种路径样式之间进行转换。

试试这个:

PRGPATH="`dirname "$0"`" exec "${PRGPATH}/../../java" .... "$(cygpath -w "${PRGPATH}/xxxx.jar")"
于 2012-11-17T05:08:09.927 回答