确定 shell 脚本的管道命令的最佳方法?

确定 shell 脚本的管道命令的最佳方法?

给定tree /some/directory | print.sh

有什么办法可以打印.sh知道“tree -f /some/directory”被调用,而不尝试解析pid进程?

答案1

一般情况下无法获得此信息。print.sh可以轻松确定其输入来自管道,但无法确定管道另一端的输入。第一个进程甚至可能已经终止,其输出完全包含在管道缓冲区中。在这种情况下,即使遍历进程列表也不会为您提供任何信息。

无论你想做什么,你需要在不同的解决方案中寻找解决方案。这可能涉及让调用管道的脚本记录第一个命令。

相关内容