【发布时间】:2020-12-17 22:13:53
【问题描述】:
我知道 bash 和 zsh,可以使用例如[ -t 1 ] 确定 STDIN 是否为交互式 tty 会话。
但是,似乎没有办法测试标准输入是从文件重定向还是从命令输入:
foo < ./file
bar | foo
有什么方法可以检测这两者之间的区别吗?另外,有什么方法可以获取被重定向的文件的路径(在/proc/self 之外,在 macOS 上不可用)?
【问题讨论】:
-
如果 ./file 是命名管道,你会期待什么样的答案?