如何在 ssh 断开连接后终止 bash 会话以保留命令历史记录?

问题描述 投票:0回答:1

当我在 ssh 由于连接问题断开连接后重新连接到服务器时,我希望能够告诉我的旧 bash 会话终止并保存其命令历史记录。

我想会有一种方法可以“写入”丢失的 shell 的 tty 输入缓冲区,或者发送 bash 的信号。

bash ssh tty command-history
1个回答
2
投票

在对

ttyecho
进行修改后,这对我不起作用,我从联机帮助页中意识到,可以通过简单的
SIGHUP
信号轻松实现干净退出,甚至不需要 root(如果是同一用户):

$ kill -HUP 11597

将导致在“丢失”的 shell 中打印“挂起”(如果您测试此并有权访问它),并保存丢失的 shell 的历史记录。

补充:

$ history -a; history -r

然后 (1) 确保不会覆盖新 shell 刚刚写入的历史记录,并且 (2) 使旧 shell 中的历史记录立即可供新 shell 使用。

© www.soinside.com 2019 - 2024. All rights reserved.