如何让 GNU 屏幕在运行进程下的同一路径上创建新窗口(例如:顶部)

如何让 GNU 屏幕在运行进程下的同一路径上创建新窗口(例如:顶部)

我在下面的行添加了 .screenrc 以在同一路径上创建新窗口。

bind , stuff "screen^M" #send command 'screen' to current screen session

它很好地在当前路径上创建新窗口。但是,如果某个进程正在运行(例如 top),则新的 screen 命令无法传递到当前会话,因此会失败。

有什么办法可以避免这种情况吗?当我编译源代码时,需要很长时间,因此我无法通过此方法创建新窗口(具有相同的路径)。

答案1

我添加自我回答。我的想法来自https://stackoverflow.com/a/20418619/1265770

  1. 编辑 .bashrc 中的 PROMPT_COMMAND 变量

    export PROMPT_COMMAND="screen -X chdir "$PWD"; PROMPT_COMMAND" //每当 cd 命令时评估 PWD

  2. 编辑你的.screenrc

    bind , 'screen' //map ,从 $PWD 创建新窗口

相关内容