Node.JS在没有换行符的情况下写入stdout

Æle*_*lex 7 stdout node.js

我觉得这可能是不可能的:我试图在没有换行的终端文本上打印.我试过了process.stdout.write,npm jetty但他们似乎都在最后自动添加一个新行.

是否可以在stdout没有自动换行的情况下写入?需要明确的是:我并不关心浏览器,我只对UNIX/Linux编写感兴趣,C/C++中的内容相当于:

std::cout << "blah";
printf("blah");
Run Code Online (Sandbox Code Playgroud)

zan*_*ngw 7

根据这个链接process.stdout.write()

console.log 等价物可能如下所示:

console.log = function(msg) {
  process.stdout.write(`${msg}\n`);
};
Run Code Online (Sandbox Code Playgroud)

所以process.stdout.write应该满足你的要求...


Pet*_*ons 7

process.stdout.write()不会自动添加新行。如果您发布有关您认为这样做的原因的准确详细信息,我们可能会告诉您您是如何感到困惑的,但是 whileconsole.log() 确实添加了一个换行符,process.stdout.write()没有多余的装饰并且不会写任何您没有明确传递给它的内容。

这是一个提供支持证据的 shell 会话:

echo 'process.stdout.write("123")' > program.js

node program.js | wc -c
       3
Run Code Online (Sandbox Code Playgroud)