24

Это ситуация: я открываю терминал в Ubuntu и делаю ssh host-1 , который работает как положено. С хоста-1 я делаю ssh host-2 , который снова работает нормально и подключает меня к хосту-2. С хоста-2 я делаю, например, echo "blah" , которое печатает blah на экран. Проблема: если я exit , экран очистится, и у меня останется только следующее:

Connection to host-2 closed.
myusername$

Как можно предотвратить очистку выхода из экрана , генерируемого с помощью команд запуска на хост-2 (т.е. blah и т.д.), после того, как exit назад в Хост-1?

Некоторая отладка, которую я уже сделал: у меня был логин друга на host-1 и host-2, точно так же, как и выше, и когда он exit из host-2, его экран НЕ очищался. Так что это должно быть как-то связано с моим окружением ... верно? Есть идеи что это может быть?

Я пробовал это с помощью PuTTY в Windows XP и с терминала в Ubuntu - одинаковое поведение независимо.

2 ответа2

26

Проверьте ~/.bash_logout

Это, вероятно, содержит clear команду. Прокомментируйте это.

Кроме того, во многих терминалах (например, gnometerm) вы можете просто прокрутить назад и посмотреть, что было "очищено".

2

Вы указали Ubuntu, но ради других, если это недавно обновленный cygwin, отредактируйте /etc/bash.bash_logout и закомментируйте следующее:

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

Будущие обновления не будут перезаписывать файл, если он будет изменен.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .