18

我正在寻找与此 Python 代码等效的 Perl:

from sys import stdout
if stdout.isatty():
    print "yes"
else:
    print "no"
4

2 回答 2

19

使用-t 文件测试运算符

print -t STDOUT ? "Yes\n" : "No\n"

请注意,在 Perl 中,STDOUT 可以绑定(本质上是一个过于复杂的重载对象),因此到 STDOUT 的输出可能仍会到达一个 TTY,即使它没有直接连接到一个 TTY。

于 2010-08-18T23:04:19.667 回答
10

如果您需要 STDOUT 实际连接到终端,而不仅仅是被重定向到或其他什么,请使用IO::interactive 。/dev/null/

于 2010-08-19T05:34:57.270 回答