Node.JS 不换行写入标准输出
Node.JS write to stdout without a newline
我的感觉大概是不可能的:
我正在尝试在没有新行的情况下在终端文本上打印。
我试过 process.stdout.write
和 npm jetty
但它们似乎都自动在末尾附加了一个新行。
是否可以在没有自动换行的情况下写入 stdout
?
明确一点:我不关心浏览器,我只对 UNIX/Linux 写 C/C++ 中的内容等同于:
std::cout << "blah";
printf("blah");
据此link process.stdout.write():
console.log
等效项可能如下所示:
console.log = function(msg) {
process.stdout.write(`${msg}\n`);
};
所以process.stdout.write
应该能满足你的要求...
process.stdout.write()
不会自动添加新行。如果您 post 确切地了解您认为它为什么会这样,我们可能会告诉您您是如何感到困惑的,但是虽然 console.log()
确实 添加换行符,process.stdout.write()
没有多余的装饰,不会写任何你没有明确传递给它的东西。
这里有一个 shell session 提供支持证据:
echo 'process.stdout.write("123")' > program.js
node program.js | wc -c
3
我的感觉大概是不可能的:
我正在尝试在没有新行的情况下在终端文本上打印。
我试过 process.stdout.write
和 npm jetty
但它们似乎都自动在末尾附加了一个新行。
是否可以在没有自动换行的情况下写入 stdout
?
明确一点:我不关心浏览器,我只对 UNIX/Linux 写 C/C++ 中的内容等同于:
std::cout << "blah";
printf("blah");
据此link process.stdout.write():
console.log
等效项可能如下所示:
console.log = function(msg) {
process.stdout.write(`${msg}\n`);
};
所以process.stdout.write
应该能满足你的要求...
process.stdout.write()
不会自动添加新行。如果您 post 确切地了解您认为它为什么会这样,我们可能会告诉您您是如何感到困惑的,但是虽然 console.log()
确实 添加换行符,process.stdout.write()
没有多余的装饰,不会写任何你没有明确传递给它的东西。
这里有一个 shell session 提供支持证据:
echo 'process.stdout.write("123")' > program.js
node program.js | wc -c
3