Nodejs终端脚本有问题的cygwin参数路径 - 无法创建通用脚本

时间:2017-05-08 10:23:50

标签: node.js shell cygwin windows-10 shebang

我在使用node.js作为Cygwin终端中的脚本语言时遇到了问题。该脚本不仅用于Cygwin,还用于OS X或GNU / Linux等其他平台(没有问题)。

脚本的本地或绝对路径参数作为Cygwin路径传递(例如:/cygdrive/c/Users/username/Dir/some-file.txt),但节点需要Windows路径(例如:C:\Users\username\Dir\some-file.txt)。

有一个工具 cygpath 用于在两者之间进行转换,但由于多平台要求,我无法对它们进行硬编码。我不想制作任何bash包装器,所以我可以保持一个文件脚本。

例如,这可以工作:./script $(cygpath -w /tmp/file),但我不能要求脚本的用户每次想要使用它时都会放置cygpath。

Node作为windows二进制文件安装,并使用shabang #!/usr/bin/env node调用。 which nodejs会产生/cygdrive/c/Program Files/nodejs/node

TL; DR:是否有任何理智且可移植的方式在Cygwin中触发nodejs脚本参数的自动路径转换?

0 个答案:

没有答案