在向CLI工具添加一些普遍支持的选项时,我最终想知道:大多数人期望--quiet
选项带来什么行为?
更具体地说,该怎么办?
grep
踩过grep
的内容)作为更一般的子问题:
我个人希望错误和用户有价值的信息以某种方式(输出或退出代码)显示出来,但是我目前唯一的方法是使用通用工具进行测试,并检查它们的行为。我正在使用的工具主要针对基于Linux的操作系统,但实际上是完全跨平台的。
答案 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的指南,但不确定它们是否涵盖了主题。