STDINはPerlでの端子に接続されている場合はどうすればわかりますか?

StackOverflow https://stackoverflow.com/questions/528781

  •  22-08-2019
  •  | 
  •  

質問

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

しかし、非常にきれいではありません...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top