GNU screen 能否让你在执行命令后停留在 shell 提示符处而不是退出 TTY?

GNU screen 能否让你在执行命令后停留在 shell 提示符处而不是退出 TTY?

我通常需要运行一个带有 9-10 个窗口的特定屏幕会话,其中大多数需要运行交互式命令,或者只是安装类型的命令。

我通过screen -c <config-that-specifies-ttys-and-commands>

我的 tty/命令管理的伪代码如下所示:

screen -t foo_title <interactive_cmd_to_start_automatically>
screen -t bar_title <a_different_cmd_to_launchh>
... etc ...

我遇到的问题是,我需要定期停止这些交互式命令,将其拖放到同一 TTY 中的 Shell,进行一些故障排除,然后手动重新启动该命令。Screen 运行这些命令不会出现任何问题,但一旦完成,screen 就会关闭该窗口/tty。(要试用它,只需指定“top”之类的命令作为要运行的命令。退出 top 时,使用 Ctrl-A " 列出您的 screen 窗口。您会看到您的 top tty 已完全消失)

所以我的问题是: - 在命令完成后,屏幕是否支持在同一个 TTY 中以本机方式获取正常 shell 提示符? - 如果是,怎么样? - 如果否(我认为是这种情况),在所述命令完成后,从屏幕配置中调用 shell 的最干净的方法是什么,以便您仍然可以获得 TTY 和 shell 提示符?

谢谢!!!

答案1

一个简单的解决方案是运行你的命令,然后运行 ​​shell,作为 shell 命令,例如:

screen -t title  bash -c 'top; exec bash -i'

相关内容