Использование «альтернативного экрана» в скрипте bash

alternate screen используется многими «пользователем-интерактивом» терминальные приложения, такие как vim, htop, screen, alsamixer, less, ... Это похоже на другой буфер содержимого терминала, который исчезает при выходе из приложения, поэтому весь терминал восстанавливается и выглядит так, как будто приложение не выводит что-нибудь.

Я хотел бы достичь того же самого в моем собственном сценарии оболочки (bash), за исключением того, что он не должен быть таким переносимым. Я придерживаюсь только Linux и эмуляторов терминалов на основе xterm; но решение должно использовать что-то вродеtput если это возможно. Однако я не хочу использовать какой-либо внешний язык сценариев (или даже что-то вроде C).

Хотя я не хочу использовать C (поскольку это должен быть bash-скрипт с как можно меньшим количеством зависимостей), я заглянул в исходный код поменьше. Кажется, он использует terminfo в качестве базы данных и ищет «ti» возможность терминала в его инициализации. При удалении строки она не использует альтернативный сценарий, поэтому я предположил, что нашел ответственную строку кода.

Тем не менее, я не могу найти такую возможность вman terminfo, Но, возможно, я нахожусь на неправильном пути, чтобы найти решение для этого. Может быть, terminfo / tput не мой друг.

Так (как) я могу использовать альтернативный экран в bash-скрипте? Кто-нибудь знает простое приложение, в исходном коде которого я могу найти подсказку? (Приложение C или сценарий Bash или что-то ...)

Ответы на вопрос(3)

Ваш ответ на вопрос