Альтернативный экран используется многими «пользовательскими» терминальными приложениями, такими как vim, htop, screen, alsamixer, less, ... Он похож на другой буфер содержимое терминала, которое исчезает, когда приложение выходит, поэтому весь терминал восстанавливается, и похоже, что приложение ничего не выводит.Использование «альтернативного экрана» в сценарии bash
Я хотел бы получить то же самое в моем собственном сценарии оболочки (bash), за исключением того, что он не должен быть таким портативным. Я бы придерживался только linux и эмуляторов терминалов на основе xterm; но решение должно использовать что-то вроде tput
, если это возможно. Тем не менее, я не хочу использовать внешний язык сценариев (или даже что-то вроде C).
Хотя я не хочу использовать C (так как это должен быть сценарий bash с как можно меньшим количеством зависимостей), я искал исходный код меньше. Похоже, что terminfo используется в качестве базы данных и ищет возможности терминала «ti» при его инициализации. При удалении строки он не использует альтернативный сеанс, поэтому я предположил, что нашел ответственную строку кода.
Однако я не могу найти такую возможность в man terminfo
. Но, возможно, я ошибаюсь, найдя решение для этого. Возможно, terminfo/tput не мой друг.
Итак (как) я могу использовать альтернативный экран в сценарии bash? Кто-нибудь знает простое приложение, в котором исходный код может найти подсказку? (Приложение C или Баш скрипт или что-то ...)
Aaaah, ну хорошо. Работает как шарм. Благодаря! :) – leemes
@leemes - На самом деле, перечитывая свой вопрос, вы говорите о возможности термина «ti» ... но если вы внимательно посмотрите в «man terminfo», это просто имя termcap 'smcup' !!! – rodrigo
Lol? Я мог * поклясться *, что искал 'ti' (как упоминалось в вопросе) и не нашел возможности! Damn ... -.- – leemes