GNU画面でstdinを読み込んでレジスタに保存する方法は?

GNU画面でstdinを読み込んでレジスタに保存する方法は?

私はGNU画面を使用しており、後でゆっくり貼り付けるために標準入力の入力をレジスタに保存したいと思います。私は一時ファイルを試してみました(このファイルはレジスタで読み取ることができますreadreg)、次を使用しましたcat

:eval "exec | sh -c 'cat >/tmp/screentempfile'"

CTRLDしかし、Send EOF toを押すとcat到着しません。

答え1

これは次のようになります。

:exec ... sh -c 'cat > ~/.screen-paste'

catでstdinが必要screenなので、最初の.コマンドは何も出力しないでください。したがって、他の2つのfdもscreenアクセス可能ですが、重要ではありません.

答え2

完璧にするために、標準入力から読み出し、入力をレジスタに格納する作業命令は次のとおりです。

:exec ... sh -c 'cat >"$HOME/.screen-stdin.tmp" && screen -S "$STY" -X readreg p "$HOME/.screen-stdin.tmp"'

関連情報