script receive pass perl terminal stdin

receive - ¿Cómo puedo saber si STDIN está conectado a un terminal en Perl?



perl script arguments (3)

También podría estar interesado en IO :: Interactive para descubrir si Perl cree que está interactuando con un usuario. Simplemente estar conectado a un tty no significa que el usuario va a ver lo que haces.

¿Cómo puedo saber si STDIN está conectado a un terminal en Perl?


Una solución sería usar tty:

[root@server] ~> tty /dev/pts/0 [root@server] ~> echo y | tty not a tty

Pero no es muy bonito ...


if (-t STDIN) { # stdin is connected } else { # stdin is not connected }

Usualmente uso esto junto con -t STDOUT, para averiguar si estoy ejecutando desde un shell interactivo, o desde cron, para habilitar más resultados.