【发布时间】:2013-06-22 08:52:24
【问题描述】:
如果使用管道调用程序PROG,
progA | progB | PROG | progC ...
有没有办法告诉它是在什么上下文中调用的 - 即从/到它正在接收或发送管道输出的其他程序(A、B、C...)?
我最感兴趣的是PROG 的前身(在上面的示例中,progB),但我也对更一般的问题感到好奇。
【问题讨论】:
-
可以做到,是的,但不容易,而且(如 l0b0 所说)不可移植。
-
什么是更大或潜在的问题,这样您认为这是您需要的?
-
@CharlesDuffy :
PROG有点像grcat/grc,理想情况下会根据它了解以前的程序而不是文件扩展名。 -
@user2141650 您最安全的方法是要求调用者向管道的每个组件指示输入类型。没什么好玩的,但其他任何事情都将是不可移植的、脆弱的猜测。