Wie kann ich feststellen, ob STDIN mit einem Terminal in Perl verbunden ist?Wie kann ich feststellen, ob STDIN mit einem Terminal in Perl verbunden ist?
7
A
Antwort
11
if (-t STDIN) {
# stdin is connected
} else {
# stdin is not connected
}
Ich benutze diese in der Regel in Verbindung mit -t STDOUT, um herauszufinden, ob ich von einer interaktiven Shell renne oder von cron, mehr Leistung zu ermöglichen.
0
Eine Lösung wäre tty zu verwenden:
[[email protected]] ~> tty
/dev/pts/0
[[email protected]] ~> echo y | tty
not a tty
Aber nicht sehr hübsch ...
11
könnten Sie auch IO::Interactive interessiert sein, um herauszufinden, ob Perl denkt, dass es mit einem Benutzer interagiert. Einfach mit einem tty verbunden zu sein bedeutet nicht, dass der Benutzer sehen wird, was Sie tun.
Verwandte Themen
- 1. Wie kann ich feststellen, ob ein Profil mit einem WLAN-Netzwerk mit wlanapi verbunden ist
- 2. Wie kann ich feststellen, ob scp von Perl verfügbar ist?
- 3. spymemcached: Wie kann ich feststellen, ob Memcached erfolgreich verbunden war?
- 4. Wie erkenne ich, ob stderr von einem Skript aus mit einem Terminal verbunden ist?
- 5. Wie kann ich feststellen, ob sidekiq mit dem Redis-Server verbunden ist?
- 6. Wie kann ich mit Objective-C feststellen, wenn das iPhone mit einem WLAN-Netzwerk verbunden ist?
- 7. Wie kann ich feststellen, ob mein DirectoryEntry tatsächlich mit meinem LDAP-Verzeichnis verbunden ist?
- 8. Wie erkenne ich, ob stdout mit einem tty in Perl verbunden ist?
- 9. Wie kann man feststellen, ob zwei Knoten verbunden sind?
- 10. Wie kann ich feststellen, ob sich eine Datei in einem Remote-Dateisystem mit Perl befindet?
- 11. Wie kann ich feststellen, ob eine Java-Ganzzahl null ist?
- 12. Kann ich feststellen, ob das Terminal die C1-Steuercodes interpretiert?
- 13. Wie kann ich zur Laufzeit feststellen, ob ich mit der Produktionsdatenbank verbunden bin?
- 14. Wie kann ich mit Perl feststellen, ob der Inhalt von zwei Dateien identisch ist?
- 15. In Perl, wie ermittle ich, ob eine Standardeingabe vorhanden ist?
- 16. Wie kann ich feststellen, ob die Benutzereingabe leer ist?
- 17. Wie kann ich STDIN testen, ohne in Perl zu blockieren?
- 18. Wie kann ich feststellen, ob .NET 3.5 SP1 installiert ist?
- 19. Wie kann ich feststellen, ob ein Polyeder konvex ist?
- 20. Wie kann ich feststellen, ob ein Perl-Hash eine Schlüsselzuordnung zu einem nicht definierten Wert enthält?
- 21. Kann ich feststellen, ob eine Eigenschaft mit nhibernate verschmutzt ist?
- 22. Wie kann ich feststellen, ob eine Datei leer ist?
- 23. Wie kann ich feststellen, ob NSManagedObject gespeichert ist?
- 24. Wie kann ich feststellen, ob ein MySQL-Prozess blockiert ist?
- 25. Wie kann ich feststellen, ob Dispatcher.DisableProcessing aktiv ist?
- 26. Wie kann ich feststellen, ob ein Pthread am Leben ist?
- 27. Wie kann ich feststellen, ob ein Perl-Datei-Handle ein Lese- oder Schreib-Handle ist?
- 28. Wie kann ich feststellen, ob Python setuptools installiert ist?
- 29. Wie kann ich feststellen, ob das cURL-Handle abgelaufen ist?
- 30. Wie kann ich feststellen, ob mein Prozess interaktiv ausgeführt wird?
Dies ist auch nicht tragbar. –