STDINはPerlでの端子に接続されている場合はどうすればわかりますか?
質問
STDINはPerlでの端子に接続されている場合は、
はどのように伝えることができますか?
解決
if (-t STDIN) {
# stdin is connected
} else {
# stdin is not connected
}
私は通常より多くの出力を可能にするために、私は対話型シェルから、またはcronで実行しているかどうかを確認するために、-t STDOUTと一緒にこれを使用します。
他のヒント
また、Perlが思っているかどうかを把握するために IO ::対話するに興味があるかもしれませんそれは、ユーザと対話しています。単にユーザーがあなたが何を見に行くされたという意味ではありませんttyに接続されます。
一つの解決策は、端末を使用することです。
[root@server] ~> tty
/dev/pts/0
[root@server] ~> echo y | tty
not a tty
しかし、非常にきれいではありません...
所属していません StackOverflow