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

26 ssh bash

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

Connection to host-2 closed.
myusername$

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

我已经完成了一些调试:我有一个朋友登录到主机 1 和主机 2,与上面完全一样,当他exit来自主机 2 时,他的屏幕没有被清除。所以它一定与我的环境有关......对吗?任何想法可能是什么?

我已经在 Windows XP 中使用 PuTTY 并从 Ubuntu 中的终端尝试过这个 - 无论如何都一样。

小智 30

查看 ~/.bash_logout

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

此外,在许多终端中,(例如gnometerm)您可以向上滚动并查看“清除”的内容。


小智 6

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

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear ] && /usr/bin/clear
fi
Run Code Online (Sandbox Code Playgroud)

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