Bash + Node.js + stdin / stdoutredirect:错误“不是tty”

此问题可能是Windows特定的。 我没有在Linux或Mac上testing过。

我用:

  • Windows 7 64位
  • Node.js 8.1.3
  • Git for Windows 2.8.1,包括GNU bash,版本4.3.42(5) – 发布

node my-cli.js > foo.txt :错误output is not a tty

node my-cli.js < foo.txt :错误input is not a tty

创build一个文件my-cli

 #!/bin/sh node "path/to/my-cli.js" "$@" exit $? 

调用./my-cli > foo.txt./my-cli < foo.txt

这也适用于参数: ./my-cli --answer 42 > foo.txt