如何判断STDIN是否连接到Perl中的终端?

tom*_*dee 8 terminal perl stdin

如何判断STDIN是否连接到Perl中的终端?

Gle*_*rry 13

if (-t STDIN) {
  # stdin is connected
} else {
  # stdin is not connected
}
Run Code Online (Sandbox Code Playgroud)

我通常将它与-t STDOUT结合使用,以确定我是从交互式shell还是从cron运行,以启用更多输出.


bri*_*foy 12

您可能也对IO :: Interactive感兴趣,以确定Perl是否认为它正在与用户进行交互.简单地连接到tty并不意味着用户会看到你做的事情.