Bash + Node.js + stdin/stdout重定向:错误“不是tty”
问题描述:
此问题可能是Windows特定的。我没有在Linux或Mac上测试过它。Bash + Node.js + stdin/stdout重定向:错误“不是tty”
我使用:
- 视窗7 64位
- 的Node.js 8.1.3
- GIT中的Windows 2.8.1,包括GNU bash中,版本42年3月4日(5)-release
node my-cli.js > foo.txt
:错误output is not a tty
node my-cli.js < foo.txt
:错误input is not a tty
。
答
创建一个文件my-cli
:
#!/bin/sh
node "path/to/my-cli.js" "[email protected]"
exit $?
呼叫./my-cli > foo.txt
或./my-cli < foo.txt
。
这也适用于参数:./my-cli --answer 42 > foo.txt
与git-bash一起使用'./my-cli | grep“我正在寻找的东西”,而这个返回'输入不是没有这个额外脚本文件的tty'。 –
你知道为什么会发生这种情况吗? –