如何在显示标准输出的同时将其显示在屏幕上? (而不是输出文件)
|
我想通过管道输出程序的标准输出,同时将其保留在屏幕上。
通过一个简单的示例(
echo
此处仅用于说明目的):
$ echo \'ee\' | foo
ee
<-我想看的输出
我知道tee可以将stdout复制到文件中,但这不是我想要的。
$ echo \'ee\' | tee output.txt | foo
我试过了
$ echo \'ee\' | tee /dev/stdout | foo
,但由于将通向/dev/stdout
的三通输出通过管道连接到foo
而无法工作
没有找到相关结果
已邀请:
5 个回复
坝镰补翔奋
参考:Open Group基本规范第7期 IEEE Std 1003.1,2013 Edition,§10.1: / dev / tty 与该流程的流程组相关联(如果有)。它是 对于希望确定的程序或shell过程很有用 无论如何,向终端写入消息或从终端读取数据 输出已重定向。它也可以用于那些 当需要键入输出时,要求输出文件名 找出当前正在使用的终端很累。在每个过程中,控制终端的同义词 据报道,某些环境(例如Google Colab)在执行
命令返回可用设备的同时仍未实现
。这是一种解决方法:
或带有古老的伯恩贝壳:
豪抱怒掳
ѭ15是过程的替代。
队辅坟阮阶
为了在匹配文件列表的底部添加一个计数,我使用了类似的方法:
为了避免记住所有这些,我定义别名:
这样我可以简单地说:
POSTSCRIPT:对于较年轻的乐队,他们可能会以“ titty”作为发音,我可能会补充说“ tty”曾经很常见 “ teletype \”终端的缩写,使用一卷黄色 纸并且有经常卡住的圆形钥匙。
疾很毋悲
当然,如果使用stderr是一种选择。
号拳藐孔妇
然后您可以将输出发送到该终端,并通过foo程序通过管道传递其他副本: