--quiet CLI选项的确切预期行为是什么?

时间:2019-03-12 04:36:38

标签: linux command-line-interface

在向CLI工具添加一些普遍支持的选项时,我最终想知道:大多数人期望--quiet选项带来什么行为?

更具体地说,该怎么办?

  • 错误?
  • 用户有价值的输出? (例如,grep踩过grep的内容)

作为更一般的子问题:

  • 是否有任何文档或参考文献表明有关Linux(Debian)工具的命令行界面行为的一般共识?

我个人希望错误和用户有价值的信息以某种方式(输出或退出代码)显示出来,但是我目前唯一的方法是使用通用工具进行测试,并检查它们的行为。我正在使用的工具主要针对基于Linux的操作系统,但实际上是完全跨平台的。

1 个答案:

答案 0 :(得分:1)

  

大多数人对--quiet选项有何期待?

根据GNU Coding Standards,4.7命令行界面标准(和Options Table):

  

“安静”

     

在许多程序中用于禁止通常的输出。每个接受“ --quiet”的程序都应接受“ --silent”作为同义词。

因此--quiet应该抑制通常的输出,这大致就是发送到stdout的东西。由于错误消息涉及异常事件,因此应该显示stderr


  

错误?

错误是特殊或异常事件。我认为--quiet不会影响他们。

  

用户有价值的输出? (例如grep的grepped内容)

当程序输出连接到另一个程序的输入时,程序更改行为的情况并不少见。例如,某些程序停止为输出着色。


  

是否有任何文档或参考文献表明有关Linux(Debian)工具的命令行界面行为的普遍共识?

GNU Coding Standards是一组标准。诸如Red Hat或Debian之类的平台可能还有其他指南。我什至看过Free Desktop和Qt的指南,但不确定它们是否涵盖了主题。