2011-11-21 28 views
7

Tôi muốn xuất hiện my_custom_print() xuất hiện trên bảng điều khiển. Nhưng nếu chương trình của stderror hoặc stdout được chuyển hướng từ shell, chúng sẽ được chuyển hướng (như bình thường), nhưng đầu ra từ my_custom_print() sẽ bị bỏ qua.Đầu ra chương trình C phải đi tới bảng điều khiển, nhưng không được chuyển hướng

Có thể viết my_custom_print() thỏa mãn điều kiện trên không? Nếu có thể, làm thế nào?

+1

Nhưng tôi không chắc nó có đáng để nỗ lực không. Ví dụ. người dùng có thể sao chép & quá khứ e từ thiết bị đầu cuối, v.v. –

+3

@BasileStarynkevitch: Một trường hợp sử dụng phổ biến mà tôi biết nơi này được yêu cầu là lời nhắc mật khẩu, như 'ssh' đang thực hiện. Hãy thử 'ssh user @ host command &> somefile', bạn sẽ vẫn nhận được một lời nhắc mật khẩu. – DarkDust

Trả lời

7

Bạn có thể thử mở /dev/tty, nhưng không nhất thiết phải tồn tại, nếu chương trình của bạn chạy từ môi trường không có tty.

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