私はrubyでciteselect
と呼ばれるプログラムを作成しました。このプログラムはcursesを使ってbibtexライブラリから参照を動的に選択します。私は、このプログラムの出力を使って簡単に何かを引用するために、このプログラムをパイプラインに入れたいと思っています。残念ながら、 Ncurses and linux pipeline (c)から見つかったように、 Cursesではstdout
が表示されます。ファイルディスクリプタ3の出力をbashにインラインで挿入する
したがって、出力引用キーが出力として提供されている場合、出力引用キーをファイル記述子3にルーティングしました。私はそれが動作することを確認しました:
citeselect 3>output
はbashで1つのライナーでfd3
に送信された出力をキャプチャする方法はありますか?何かのように
echo "The citation key is $(citeselect 3>)"
ありがとう。
もうすぐです。 '3>&1'はファイル記述子3をファイル記述子1(標準出力)にコピーします。 cursesが実際に標準出力に(そして直接端末には書いていない)書き込むならば、それをキャプチャするのを避けるために、いくつかの歪みをまた処理する必要があります。 – chepner