STDIN이 Perl의 터미널에 연결되어 있는지 어떻게 알 수 있습니까?STDIN이 Perl의 터미널에 연결되어 있는지 어떻게 알 수 있습니까?
7
A
답변
11
if (-t STDIN) {
# stdin is connected
} else {
# stdin is not connected
}
대화 형 셸 또는 cron에서 실행 중인지 확인하려면 더 많은 출력을 위해 보통 이것을 -t STDOUT과 함께 사용합니다.
[[email protected]] ~> tty
/dev/pts/0
[[email protected]] ~> echo y | tty
not a tty
하지만 아주 예쁜 ...
0
하나의 해결책은 청각 장애를 사용하는 것입니다. 단순히 tty에 연결한다고해서 사용자가 자신이하는 일을 볼 수있는 것은 아닙니다.
11
당신은 또한 펄이 사용자와 상호 작용 생각하면 알아 내기 위해 IO::Interactive에 관심이있을 수 있습니다
이것은 휴대용이 아닙니다. –