Node、Windows 10 和 Bash 交互。管道不工作
Posted
技术标签:
【中文标题】Node、Windows 10 和 Bash 交互。管道不工作【英文标题】:Node, Windows 10 and Bash interaction. Pipe doesn't work 【发布时间】:2017-07-13 12:02:09 【问题描述】:请注意,以下命令行挂在 bash 下,运行我尝试过的几乎任何版本的节点(你能给我一个它可以工作的地方吗?)或者我的 Windows 10 系统被水洗了。它确实在命令提示符下工作。
$ yes | xargs node fillbuffer.js | tee xx
0
0
$ cat fillbuffer.js
console.log(0);
我在 cygwin 和 git bash 下安装了新的 bash 和 bash 实用程序(我应该尝试 msys 吗?)。
请注意,这是可行的:
$ yes | xargs sh fill.sh | tee xx
0
0
.
.
.
$ cat fill.sh
echo 0
【问题讨论】:
我希望输出与正常工作的 fill.sh 示例相同 如果您是新手,请不要忘记键入 CTRL-C 来中断进程。并删除这创建的多余的 xx 文件。node
不是 cygwin 程序,因此他可能需要 CRLF 或无法使用 cygwin 管道。
@matzeri,我认为 console.log 添加了 CRLF
【参考方案1】:
我找到了解决问题的方法。它可能无法解决所有节点问题,因为在很多情况下,您不想退出。这是解决方案:
fillbuffer.js:
console.log(0);
process.exit();
【讨论】:
以上是关于Node、Windows 10 和 Bash 交互。管道不工作的主要内容,如果未能解决你的问题,请参考以下文章
Bash / WSL和Windows控制台的新功能(Windows 10 Creators Update)
检测 NODE.JS 脚本是通过 bash(unix)/cmd(windows)直接调用还是导入(ESM 模块加载器)[重复]
windows ionic bash: command not found
在 Windows 上运行 ubuntu 上的 bash 运行 npm 命令给出错误“/usr/bin/env: node: No such file or directory”
执行n stable命令在Windows系统中更新node版本报错“‘bash‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。“