Ich suche nach dem Perl-äquivalent zu diesem Python-Code:Wie erkenne ich, ob stdout mit einem tty in Perl verbunden ist?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
Ich suche nach dem Perl-äquivalent zu diesem Python-Code:Wie erkenne ich, ob stdout mit einem tty in Perl verbunden ist?
from sys import stdout
if stdout.isatty():
print "yes"
else:
print "no"
die -t filetest operator verwenden.
print -t STDOUT ? "Yes\n" : "No\n"
Beachten Sie, dass in Perl kann STDOUT (im Wesentlichen ein zu kompliziert überlastet Objekt) gebunden werden, so dass eine Ausgabe an STDOUT kann noch eine TTY erreichen, auch wenn es nicht direkt an einen befestigt.
Verwenden Sie IO::interactive, wenn Sie STDOUT benötigen, um tatsächlich mit dem Terminal verbunden zu sein, und nicht nur zu /dev/null/
oder was auch immer umgeleitet werden.
IO :: Interactive zeigt die Spezialfälle, die Sie vielleicht auch berücksichtigen möchten. –
Wie auf der Erde hat diese Antwort eine Punktzahl von +5, während eine andere (früher!) Post mit * genau * der gleichen Antwort eine Punktzahl von -1 hat? – EMP
@Evgeny Diese Antwort war ursprünglich 'print -t 1? "Ja \ n": "Nein \ n" '. Die unnötige Verwendung einer Datei hat sie gekauft. – Schwern