Wie bestimme ich, welche Version von Readline-Bash verwendet wird?

1054
asmeurer

Wie bestimme ich, welche Readline-Version ich in meiner Bash-Sitzung verwende?

Ich frage mich speziell, weil ich scheinbar die readline-Bibliothek 6.3 habe, aber die set enable-bracketed-paste onin my .inputrcfunktioniert, obwohl diese Funktion nur in readline 7.0 hinzugefügt wurde.

Ich verwende bash 4.4.0 unter macOS 10.11 (installiert mit Fink).

3
Laut [dieser Site] (https://cirw.in/blog/bracketed-paste) verwendet `bash '4.4` readline` 7. AFH vor 7 Jahren 0
does osx/fink provide `ldd`? if so `ldd /path/to/bash | grep readline` should tell you exactly what libreadline is loaded. quixotic vor 7 Jahren 0
@quixotic auf macOS ist `otool -L` (das mit den Entwicklerwerkzeugen mitgeliefert wird). Aber ich habe das auf bash ausprobiert, aber es wurde kein link zu readline aufgeführt, nur ncurses, intl und iconv. Ich frage mich also, ob bash statische Links mit readline verknüpft, was erklären würde, warum es anscheinend 7.0 verwendet, obwohl ich 6.3 habe. asmeurer vor 7 Jahren 0
@asmeurer bash is dynamically linked on my platform, so the question becomes how has Fink packaged it. (assuming you installed the official Fink package.) you can probably get their source package and default compilation options on their package db. http://pdb.finkproject.org/pdb/ quixotic vor 7 Jahren 0

1 Antwort auf die Frage

-2
ipatch

Sie sind sich nicht sicher, wie engagiert Sie sich für die Verwendung von fink sind, aber es gibt einen weiteren Paketmanager für macOS, der als Homebrew bezeichnet wird. Sie finden ihn hier oder unter http://brew.sh, mit dem Sie neuere Programmversionen ausführen können la BASH usw. usw.

Um Homebrew zu installieren, kopieren Sie einfach eine URL in Ihr bevorzugtes Terminal und führen den Befehl aus brew install bash.

Ich hatte buchstäblich das gleiche Problem wie Sie. Beim Erstellen einer Inputrc-Datei und dem Verknüpfen dieser Datei mit ~/.inputrcmeinem Dotfiles-Repo konnte ich verhindern, dass Snippets die Shell automatisch ausführen.

Wenn Sie alle erforderlichen Schritte ausgeführt haben, kopieren Sie das folgende Snippet in Ihr Terminal, und es sollte erst ausgeführt werden, wenn Sie die Eingabetaste drücken, wenn alles ordnungsgemäß eingerichtet ist.

Prost, Chris

Dies beantwortet nicht wirklich die Frage (wie man herausfindet, welche Version von readline bash verwendet wird). Und ja, ich weiß über Homebrew Bescheid. Ich bevorzuge Fink aus verschiedenen Gründen. asmeurer vor 6 Jahren 0