Text-Processing

在 GNU 螢幕中,如何從標準輸入讀取並保存到寄存器中?

  • July 3, 2021

我正在使用 GNU 螢幕,我想將來自標準輸入的輸入保存到一個寄存器中,以便稍後將其慢速粘貼。我嘗試了一個臨時文件的解決方法(readreg之後我可以讀入一個寄存器)並使用cat

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

但是,如果我按下CTRL``D將 EOF 發送到cat,它不會到達。

那應該是:

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

您需要cat來自的標準輸入screen,因此是第一個.。該命令不應輸出任何內容,因此其他兩個 fd 並不重要,儘管它們也可以轉到screen,因此還有另外兩個.s。

為了完整起見,這是一個從標準輸入讀取並將輸入保存到寄存器中的工作命令:

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

引用自:https://unix.stackexchange.com/questions/656837