Как определить, какая версия readline bash используется?

986
asmeurer

Как определить, какую версию readline я использую в своей сессии bash?

Я задаюсь вопросом, а именно потому, что я, кажется, есть библиотека Readline 6.3, но set enable-bracketed-paste onв моем .inputrcработает, несмотря на то, что функция была добавлена только в Readline 7.0.

Я использую Bash 4.4.0 на MacOS 10.11 (установлен с Fink).

3
Согласно [этому сайту] (https://cirw.in/blog/bracketed-paste), `bash` 4.4 использует` readline` 7. AFH 7 лет назад 0
osx / fink предоставляет `ldd`? если так `ldd / path / to / bash | grep readline` должен точно сказать, какая библиотека libreadline загружена. quixotic 7 лет назад 0
@quixotic на macOS это `otool -L` (поставляется с инструментами разработчика). Но я попробовал это на bash, но там не было ссылки на readline, только ncurses, intl и iconv. Поэтому мне интересно, может быть, bash статически ссылается на readline, что объясняет, почему он использует 7.0, хотя у меня 6.3. asmeurer 7 лет назад 0
@asmeurer bash динамически связан с моей платформой, поэтому возникает вопрос, как Fink упаковал ее. (при условии, что вы установили официальный пакет Fink.) вы можете получить их исходный пакет и параметры компиляции по умолчанию в их пакете db. http://pdb.finkproject.org/pdb/ quixotic 7 лет назад 0

1 ответ на вопрос

-2
ipatch

Не уверен, насколько вы привержены использованию fink, но есть еще один менеджер пакетов для macOS, который называется homebrew и может быть найден здесь или по адресу http://brew.sh, который позволяет запускать более свежие версии программ. La BASH и т. д. и т. д.

Чтобы установить homebrew, просто скопируйте / вставьте URL-адрес в предпочитаемый вами терминал, а затем выполните команду brew install bash.

У меня буквально была та же проблема, что и у вас, и, создав файл inputrc и связав его ~/.inputrcс моим репозиторием dotfiles, я смог предотвратить автоматический запуск оболочки фрагментами.

После того, как вы все это сделаете, попробуйте скопировать / вставить следующий фрагмент в свой терминал, и он не должен работать, пока вы не нажмете клавишу ввода, если все настроено правильно.

ура Крис

Это на самом деле не отвечает на вопрос (как узнать, какая версия readline bash используется). И да, я знаю о домашнем пиве. Я предпочитаю финк по разным причинам. asmeurer 6 лет назад 0