簡體   English   中英

在Unix上分離命令行輸出(來自用戶交互的處理)的方法是什么?

[英]What is the way to separate command line output (processing from user interaction) on Unix?

我正在編寫一個控制台應用程序,在該應用程序中可能需要用戶交互(提示輸入鍵盤,cli參數等),但是我想將其與處理結果(以cout的方式進行處理)分開可以通過管道傳輸到其他應用程序)。

如果我不能僅將與用戶的所有互動發送給cerr(不是所有都是錯誤的),該如何實現?

/dev/tty是通常的方式,但是在大多數類似Unix的操作系統上,也可以從cerr / stderr讀取,因為系統通常會在stdindup()將其打開到stdoutstderr打開一次tty。

當您的stdout通過管道傳輸到其他位置時,在終端上顯示某些內容的唯一方法(除了諸如curses和dialog之類的東西)是stderr。

如果需要用戶交互,請打開/ dev / tty,它將成為該過程的控制終端。 標准錯誤和標准輸入也可以重定向。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM