是否有任何命令可以在特殊情况下读取其标准输入?

是否有任何命令可以在特殊情况下读取其标准输入?

我一直在寻找鲜为人知的命令,这些命令在特殊情况下读取其标准输入(例如缺少参数)。

我想“cat”或者其他命令可能适合这里。

答案1

我想到了一些案例:

  • 缺少参数,
  • 特殊参数“-”,
  • 程序检测到标准输入不是终端,并且
  • 选项(或环境变量)会覆盖该行为。

对于缺少参数,cat这是一个有用的例子。同样地grepsed

特殊参数“-”在多个程序中使用,以明确告诉它从标准输入中读取。您可以在以下内容中找到讨论(带有示例):

对于标准输入不是终端的情况,我熟悉的情况不太为人所知:

  • 对话启动时检查其输入是否是终端,如果不是,则打开终端设备。这是一个更大方案的一部分,它可以从管道读取数据,例如仪表小部件。
  • 差异统计通过从标准输入读取其输入来处理丢失的参数,但除此之外,它的-v(详细)选项正在做这显示了进度,例如“。”对于每个文件
  • 管道到 vi-like-emacs 使其将输入作为文件读取。 vim 的类似功能(稍后实现4),使用显式的“-”参数。

对于特殊参数:

  • 对话--gauge有一个从标准输入读取数据的选项。还--input-fd告诉它哪个用作管道输入的文件描述符。
  • 山猫有一个选项-stdin告诉它将标准输入解释为 html。否则,它接受标准输入上的配置选项,例如使用-get_data-post_data

相关内容