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)

bash:找不到nodemon命令Windows 10

检测 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‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。“