为什么 pandoc 在 cygwin 上的某些路径上有问题?

Why does pandoc have troubles with certain paths on cygwin?

我已经使用 Windows 安装程序安装了 pandoc.exe 2.10,我正在从 cygwin 3.1.6-1 调用它。与大多数其他命令不同,pandoc 似乎在某些路径上存在问题。当输入或输出文件路径包含以下之一时,我收到错误“openBinaryFile:不存在(没有这样的文件或目录)”:

相比之下,包含以下工作的路径:

这是为什么?为什么 pandoc 的行为与其他命令不同?

错误消息的大多数 Google 命中与 R Markdown 相关。在 JDK build-dev 邮件列表中,问题与 pandoc 不是本机 cygwin 应用程序有关(参见 CR: 8180540: Add pandoc build fix for windows)。

正如 /u/matzeri 所说(谢谢!),这是因为 Windows pandoc 是一个 Windows 程序并且不识别 Cygwin 路径样式。

解决此问题的可靠方法可能是将 cygpath--absolute--mixed 标志一起使用,如下所示:

pandoc "$(cygpath -am path/to/file.md)" -o "$(cygpath -am path/to/other_file.html)"