将特定 stdout 作为“输出文件”的常用语法

将特定 stdout 作为“输出文件”的常用语法

我有一个主要的 unixoid 软件,它通常会写入指定为参数的文件。

现在我想添加写入 stdout 的功能。但写入文件仍应是标准行为。

我想我见过类似这样的 shell 命令

command --outfile -

或者

command -

这是常见的做法吗?不幸的是,我不记得有这样的命令。

答案1

一种常见的方法是,当参数列表中的最后一个参数是连字符(或在某些情况下是双连字符)时写入标准输出。

如果您正在编写程序,则可以采取额外步骤并使用显式-stdout参数来打印到标准输出。由于-语法不是官方标准,我建议最好在可读性方面谨慎行事。

答案2

连字符在各种 *nix 命令中用于指示 stdin 或 stdout,具体取决于其使用的上下文。它是相当常见但绝不是通用的,因此在使用特定命令之前,您应该检查其文档。

答案3

常见的做法(例如 gzip)是,如果未指定文件(假设您可以确定)或者给出连字符作为最后一个选项,则写入 stdout。

相关内容