bash
- додаток termcap через readline
, як screen
і деякі інші програми. У більшості систем на базі Linux (окрім Slackware) ви, швидше за все, будете бачити ncurses як основну реалізацію termcap .
Сторінка керівництва дляtgetent
(з назвою curs_termcap, тому що це було зроблено в SVr4 ...) говорить:
Ці підпрограми включаються в якості допоміжного засобу для перетворення програм, які використовують бібліотеку termcap . Їх параметри однакові, і підпрограми імітуються за допомогою
бази даних terminfo . Таким чином, їх можна використовувати лише для запиту можливостей записів, для яких складено запис terminfo .
Тобто, якщо програма, що викликає, не придивляється уважно до повернених даних, а використовує звичайний інтерфейс термінальної капи для зчитування опису терміналу та запису даних на екран, він працює так само, як оригінальний термін cap.
Більшість додатків termcap не виглядають так близько (xterm - рідкісний виняток - див. FAQ ). Так bash
працює з ncurses.
Однак бібліотека termcap менша за ncurses. Довгий час тому це мало значення, і з 1997 року ncurses має параметр налаштування, --with-termlib
завдяки якому він створює окремі для термінаcap та terminfo частини як бібліотеку, окрему від функцій, необхідних у бібліотеці прокльонів вищого рівня. Минуло кілька років, і деякі дистрибутиви на базі Linux включили це до своїх пакетів.
Оскільки bash
не використовується жодна з функцій curses (libncurses тощо), розумно зв’язувати лише проти libtinfo
.
readline
є специфічною для termcap частиною bash
(насправді, коли я вперше зіткнувся bash
, її частини термінальної капкі були жорстко кодовані , навіть незважаючи на те, що офіційне джерело використовувало termcap - можливо, щоб зберегти ще кілька байт). Коли bash
буде побудовано з комплектацією readline
, ви не будете бачити readline
окрему бібліотеку, оскільки не було б сенсу встановлювати цю пакетну readline
установку як (можливо, суперечливу) спільну бібліотеку. Але (залежно від вашої системи) ви можете бачити, libtinfo
тому що ncurses побудовано так чи інакше (розділено чи ні) - не обидва.
TERM
? Ах, неважливо - я бачу, що вихідний пакет єncurses
.