Używanie „alternatywnego ekranu” w skrypcie bash

Thealternatywny ekran jest używany przez wiele „interaktywnych” aplikacji terminalowych, takich jak vim, htop, screen, alsamixer, less, ... To jest jak inny bufor zawartości terminalu, który znika po zamknięciu aplikacji, więc cały terminal zostaje przywrócony i wygląda na to, że aplikacja niczego nie wysłała.

Chciałbym osiągnąć dokładnie to samo w moim skrypcie powłoki (bash), z wyjątkiem tego, że nie musi być tak przenośny. Trzymałbym się tylko emulatorów terminali opartych na systemie Linux i Xterm; ale rozwiązanie powinno używać czegoś takiegotput Jeśli to możliwe. Nie chcę jednak używać jakiegoś zewnętrznego języka skryptowego (lub nawet czegoś takiego jak C).

Chociaż nie chcę używać C (ponieważ powinien to być skrypt bashowy z jak najmniejszą liczbą zależności), zajrzałem do kodu źródłowego mniej. Wydaje się, że używa terminfo jako bazy danych i wyszukuje możliwości terminalu „ti” podczas inicjalizacji. Podczas usuwania linii nie używa alternatywnego skryptu, więc założyłem, że znalazłem odpowiedzialną linię kodu.

Jednak nie mogę znaleźć takiej możliwościman terminfo. Ale może jestem na złej drodze, aby znaleźć rozwiązanie tego problemu. Może terminfo / tput nie jest moim przyjacielem.

Więc (w jaki sposób) mogę użyć alternatywnego ekranu w skrypcie bash? Czy ktoś zna prostą aplikację, w której kod źródłowy mogę znaleźć podpowiedź? (Aplikacja C lub skrypt bash lub cokolwiek ...)

questionAnswers(3)

yourAnswerToTheQuestion