rlwrap: делает доступным readline редактор для всех приложений

Проект "Пакет дня" нуждается в помощи переводчиков. Если Вы можете помочь с переводом статей, пожалуйста, присоединяйтесь!

Оригинальная статья: arno
Перевод: Азовцев Юрий

Многие консольные приложения не предоставляют таких удобных функций как история комманд, дополнение и редактирование. rlwrap связывает readline (библиотека, обеспечивающая все вышепересичленные удобства в bash и многих других приложениях) и программы с текстовым интерфейсом.
Теперь вы можете воспользоваться всеми преимуществами автодополнения, редактирования и возврата к ранее введенным командам в приложениях официально не поддерживающих их. rlwrap один из тех инструментов, попробовав который вы будете удивляться как вы жили без него раньше.

Для примера можно посмотреть на telnet или netcat, которые не поддерживают редактирование комманд и историю. С rlwrap вы сможете воспользоваться этими удобствами. Запуск dash может помочь в тестировании нескольких строк shell кода. Но редактирование строк в dash сделано неудобно. С rlwrap вас становятся доступны автодополнение и история прямо в dash.

По умолчанию, история вводимых команд сохраняется в отдельном файле для каждого приложения: ваша история будет сохранена даже после завершения работы программы, а конфликт с другими приложениями исключен.

Как и readline, rlwrap вы можете настроить в файле ~/.inputrc. Там же вы можете определить для каждого из приложений набор слов для автодополнения.

Socat так же может связать readline с другими приложениями. socat намного более функционален, чем просто readline окружение: использование его в подобных целях будет не только превосходить другие варианты по возможностям, но и принесет сложности при настройке.
Другим интерфейсов readline к другим приложениям является cle (Common Line Editor). Это замечательный инструмент, но не разрабатывался после 1999 года. Rlwrap, на данный момент, более мощный, более функциональный, с большими возможностями для настройки.

Область применения:
Необходимость постоянной работы с утилитами netcat, telnet, dc, которые не взаимодействуют с readline и возможности редактирования, которых, ограничены.

Совет:

Если вашь shell поддерживает алиасы программ - возможно вам покажется полезным использование, например: alias netcat="rlwrap netcat".

Домашнюю страницу rlwrap вы можете найти на http://utopia.knoware.nl/~hlub/uck/rlwrap/

rlwrap доступен в Debian (0.21-1 в Sarge, 0.28-2 в unstable) и в Ubuntu (0.24-1 в dapper и edgy).