代码之家  ›  专栏  ›  技术社区  ›  bukzor

如何在Perl中检测stdout是否连接到tty?

  •  14
  • bukzor  · 技术社区  · 15 年前

    from sys import stdout
    if stdout.isatty():
        print "yes"
    else:
        print "no"
    
    2 回复  |  直到 15 年前
        1
  •  16
  •   Schwern    15 年前

    使用 -t filetest operator .

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

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

        2
  •  9
  •   Pedro Silva    15 年前

    使用 IO::interactive 如果您要求STDOUT实际连接到终端,而不仅仅是重定向到 /dev/null/