如何防止在“退出” SSH 会话时清除终端输出?

如何防止在“退出” SSH 会话时清除终端输出?

情况是这样的:我在 Ubuntu 中打开一个终端,然后执行ssh host-1,它按预期工作。在主机 1 上,我执行ssh host-2,它再次正常工作并将我连接到主机 2。例如,在主机 2 上,我执行echo "blah",它会打印blah到屏幕上。问题:如果我执行exit,屏幕会被清除,只剩下以下内容:

Connection to host-2 closed.
myusername$

当我返回主机 1后,如何防止清除在主机 2 上运行的命令(即blah等)生成的屏幕输出?exit

我已经进行了一些调试:我有一个朋友登录到主机 1 和主机 2,与上述情况完全相同,当他exit从主机 2 登录时,他的屏幕没有被清除。所以这一定与我的环境有关……对吧?有什么想法吗?

我已尝试在 Windows XP 中使用 PuTTY 以及在 Ubuntu 中的终端上进行此操作 - 无论如何,行为都相同。

答案1

查看~/.bash_logout

它可能包含一个clear命令。将其注释掉。

此外,在很多终端中,(例如gnometerm)您只需向上滚动即可查看“已清除”的内容。

答案2

您说的是 Ubuntu,但为了其他人的利益,如果它是最近更新的 cygwin,请编辑/etc/bash.bash_logout并注释掉以下内容:

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear ] && /usr/bin/clear
fi

如果文件被修改,将来的更新将不会覆盖该文件。

相关内容