Альтернативный экран используется многими "пользовательскими" терминальными приложениями, такими как vim, htop, screen, alsamixer, less,... Это похоже на другой буфер содержимого терминала, который исчезает при выходе приложения, поэтому весь терминал восстанавливается, и похоже, что приложение ничего не выводит.
Я хотел бы получить то же самое в своей оболочке (bash) script, за исключением того, что она не должна быть такой переносимой. Я бы придерживался только linux и эмуляторов терминалов на основе xterm; но решение должно использовать что-то вроде tput
, если это возможно. Тем не менее, я не хочу использовать какой-то внешний язык сценариев (или даже что-то вроде C).
Хотя я не хочу использовать C (как это должно быть bash - script с максимально возможной зависимостью), я искал исходный код меньше. Похоже, что terminfo используется в качестве базы данных и ищет возможности терминала "ti" при его инициализации. При удалении строки он не использует альтернативный сеанс, поэтому я предположил, что нашел ответственную строку кода.
Однако я не могу найти такую возможность в man terminfo
. Но, возможно, я ошибаюсь, найдя решение для этого. Возможно, terminfo/tput не мой друг.
Итак (как) я могу использовать альтернативный экран в bash script? Кто-нибудь знает простое приложение, в котором исходный код может найти подсказку? (Приложение C или bash script или что-то еще...)