/ 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/
在脚本中不起作用?
答案 0 :(得分:2)
java.exe
是一个Windows程序,在其参数中需要Windows样式的c:\...
路径,而不是Cygwin样式的/cygdrive/c/...
路径。
Cygwin附带了cygpath实用程序,可以在两种路径样式之间进行转换。
请改为尝试:
PRGPATH="`dirname "$0"`" exec "${PRGPATH}/../../java" .... "$(cygpath -w "${PRGPATH}/xxxx.jar")"