Node.js 仅将标准输出重定向到/dev/null

Node.js 仅将标准输出重定向到/dev/null,node.js,bash,stdout,stdio,Node.js,Bash,Stdout,Stdio,我还没有掌握奇怪的shell stdio重定向功能 我想运行npm安装,但重定向stdout,所以我不必看到所有这些。(我仍然想在终端中捕获stderr,我只是不想看到stdout) 这似乎不起作用 仅将stdout重定向到/dev/null的正确语法是什么(可能还有原因)?npm安装-D suman>/dev/null应该这样做。(这是重定向的标准,仅用于重定向stdout)它执行与问题中的命令完全相同的操作/dev/null相当于1>/dev/null@AlexanderMills:这是正确

我还没有掌握奇怪的shell stdio重定向功能

我想运行npm安装,但重定向stdout,所以我不必看到所有这些。(我仍然想在终端中捕获stderr,我只是不想看到stdout)

这似乎不起作用


仅将stdout重定向到
/dev/null
的正确语法是什么(可能还有原因)?

npm安装-D suman>/dev/null
应该这样做。(这是重定向的标准,仅用于重定向stdout)

它执行与问题中的命令完全相同的操作
/dev/null
相当于
1>/dev/null
@AlexanderMills:这是正确的语法,但你已经说过它不起作用了。@AlexanderMills:请阅读并回复我在这个问题上发表的评论。我想这是因为NPM把他们大部分的废话都写在了stderr上,这是一个主要的设计缺陷。因此,将stdout重定向到/dev/dull实际上并不能摆脱任何东西。“它可能是由npm命令打印到stdout的”,您是指stderr,而不是stdout…您所说的“这似乎不起作用”到底是什么意思?您使用的语法是正确的。如果您仍然看到您不期望的输出,那么它可能是由npm命令打印到stderr的。试试这个:
npm安装-D suman>npm.out 2>npm.err
;这应该能准确地告诉你打印的内容在哪里;我已经发布了一条更正的评论。谢谢你,是的,我将用我自己的脚本而不是npm进行实验,正如我已经说过的,
1>
的意思完全相同。
npm install -D suman 1> /dev/null