bashes una aplicación de termcap a través de readline, como screeny algunos otros programas. En la mayoría de los sistemas basados en Linux (aparte de Slackware), es probable que vea ncurses como la implementación subyacente de termcap .
La página del manual paratgetent (llamado curs_termcap porque así se hizo en SVr4 ...) dice:
Estas rutinas se incluyen como una ayuda de conversión para programas que usan la biblioteca termcap . Sus parámetros son los mismos y las rutinas se emulan utilizando la base de
datos terminfo . Por lo tanto, solo se pueden usar para consultar las capacidades de las entradas para las que se ha compilado una entrada terminfo .
Es decir, si el programa que realiza la llamada no examina de cerca los datos devueltos y utiliza la interfaz de termcap convencional para leer la descripción del terminal y escribir datos en la pantalla, funciona igual que el termcap original.
La mayoría de las aplicaciones de termcap no se ven tan de cerca (xterm es una excepción rara; consulte las preguntas frecuentes ) Entonces bashfunciona con ncurses.
Sin embargo, la biblioteca termcap es más pequeña que ncurses. Hace bastante tiempo, eso importaba, y desde 1997 ncurses ha tenido una opción de configuración --with-termlibque lo hace construir las partes específicas de termincap y terminfo como una biblioteca separada de las funciones necesarias en la biblioteca de curses de nivel superior. Pasaron algunos años y algunas de las distribuciones basadas en Linux lo incorporaron a sus paquetes.
Como bashno usa ninguna de las funciones de maldiciones (libncurses, etc.), es razonable vincular solo contra el libtinfo.
readlinees la parte específica de termcap de bash(en realidad, cuando me encontré por primera vez bash, sus partes de termcap estaban codificadas , a pesar de que la fuente oficial usó termcap, tal vez para ahorrar unos pocos bytes más). Cuando bashse compila con el paquete readline, no lo verá readlinecomo una biblioteca separada porque no tendría sentido hacer que la readlineinstalación empaquetada sea una biblioteca compartida (posiblemente conflictiva). Pero (dependiendo de su sistema), es posible que vea libtinfoporque ncurses se construye de una forma u otra (dividida o no), no ambas.
TERM? Ah, no importa, veo que el paquete fuente esncurses.