2009-02-09 28 views

Trả lời

11
if (-t STDIN) { 
    # stdin is connected 
} else { 
    # stdin is not connected 
} 

Tôi thường sử dụng kết hợp với -t STDOUT, để tìm hiểu xem tôi có đang chạy từ một trình tương tác hay từ cron, để cho phép nhiều đầu ra hơn.

0

Một giải pháp sẽ được sử dụng tty:

[[email protected]] ~> tty 
/dev/pts/0 
[[email protected]] ~> echo y | tty 
not a tty 

Nhưng không phải là rất khá ...

+0

Đây không phải là di động. –

11

Bạn cũng có thể quan tâm IO::Interactive để tìm ra nếu Perl nghĩ rằng nó được tương tác với người dùng. Đơn giản chỉ cần được kết nối với một tty không có nghĩa là người dùng sẽ thấy những gì bạn làm.

Các vấn đề liên quan