cygdrive前缀在bash脚本中不起作用

时间:2012-11-17 03:11:50

标签: cygwin

/ 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:/,那么脚本就可以了。 为什么/cygdrive/c/在脚本中不起作用?

1 个答案:

答案 0 :(得分:2)

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

Cygwin附带了cygpath实用程序,可以在两种路径样式之间进行转换。

请改为尝试:

PRGPATH="`dirname "$0"`" exec "${PRGPATH}/../../java" .... "$(cygpath -w "${PRGPATH}/xxxx.jar")"