在shell中运行它。
node -e "console.log(require('child_process').spawnSync('column', ['-t','-s',','], {input: 'a,b\nc,d', encoding:'utf8'}).stdout)"
我在不同的环境中看到不同的行为。
a b\n
)a b\nc d\n
)我确实看到在显示出最后一行被删除的意外行为的环境中,在提供的spawnSync输入上附加换行符将解决问题。因此,在将来做这样的事情时,我将确保输入以换行符终止以保持安全。
然而,如果我没有添加换行符来刷新流,那么我不确定我是不是因为期望节点不是输掉我的最后一行输出(这是我期待这个问题根植于什么)。所以这看起来像个bug。
我尝试运行runkit.com上提供的不同版本的节点,但是它们以某种方式返回意外的一行输出(除了0.10.x,它总共缺少spawnSync API)。现在,我正在挠头。
答案 0 :(得分:0)
发现这个问题是column
的行为。
它要求您提供最后一行的换行符。