为什么“cvs --help | less”不起作用?

为什么“cvs --help | less”不起作用?

我不知道为什么,但管道cvs --help不起作用less。可能是因为cvs --help输出不是标准输出(1)或错误输出(2),而是其他地方。你能告诉我它在哪里输出吗?

答案1

原因是因为有两种类型的输出。

  • 正常输出 ( STDOUT)
  • 错误输出 ( STDERR)

cvs --help将帮助信息打印到STDERR. Pipe( |) 正在等待写入的数据,STDOUT以便可以读取它STDIN

为了从STDERRto获取帮助文本STDOUT(以便管道可以读取),您需要重定向它。

cvs --help 2>&1 | less

进一步解释这里

相关内容