我寫了一個名爲citeselect
的ruby程序,它使用curses從bibtex bibliogrpahy中動態選擇參考。我想把這個程序放到一個管道中,用這個程序的輸出很容易地引用任何東西。不幸的是,我發現從 Ncurses and linux pipeline (c), Curses使用stdout
來顯示。在bash中插入文件描述符3的輸出
因此,當它作爲輸出提供時,我將輸出引用鍵路由到文件描述符3中。我已經驗證了它的工作原理:
citeselect 3>output
有沒有辦法捕捉到在bash一個班輪發往fd3
輸出?類似於
echo "The citation key is $(citeselect 3>)"
謝謝。
你很近。 '3>&1'會將文件描述符3複製到文件描述符1(標準輸出)。如果curses實際寫入標準輸出(而不是直接寫入終端),則還需要進行一些扭曲操作以避免捕獲它。 – chepner