首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >node.js spawnSync最后一行stdin未被接受

node.js spawnSync最后一行stdin未被接受
EN

Stack Overflow用户
提问于 2018-02-13 00:56:26
回答 1查看 145关注 0票数 0

在外壳中运行这个。

代码语言:javascript
复制
node -e "console.log(require('child_process').spawnSync('column', ['-t','-s',','], {input: 'a,b\nc,d', encoding:'utf8'}).stdout)"

我在不同的环境中看到了不同的行为。

  • 6.5.0:打印一行(只打印a b\n)
  • 4.2.6:打印两行(a b\nc d\n)

我确实看到,在显示出最后一行被删除的意外行为的环境中,在提供给spawnSync的输入后添加一个换行符将解决这个问题。因此,在将来这样做时,我将确保输入以换行符结束,以保持安全。

但是,如果我没有添加一个新行来刷新流(这就是我期望这个问题根植的原因),我不太确定我是否是固执己见,希望节点不会简单地失去我的最后一行输出。这好像是个虫子。

我尝试运行在runkit.com上提供的不同版本的节点,但它们都以某种方式返回意外的一行输出( 0.10.x除外,它完全缺少spawnSync API )。现在我在挠头。

EN

回答 1

Stack Overflow用户

发布于 2018-02-15 20:22:34

这方面的问题在于column的行为。

它要求您提供最后一行的换行符。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48757954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档