.inputrc vs .bashrc Einstellungen

9

Ich habe festgestellt, dass nur wenige Einstellungen in .bashrcund .inputrcDateien gleich oder ähnlich aussehen, z.

shopt -s nocaseglobvs set completion-ignore-case
export HISTSIZEvs set history-size
export HISTFILESIZEvsset history-size

Sie .inputrcEinstellungen wirken sich auch auf die Fertigstellung und die Geschichte Größe in Python - Shell (wenn Lauf innerhalb des Terminals)?

Ist HISTSIZEbegrenzt durch history-sizeoder überschreibt es es?

einer zu viel
quelle

Antworten:

10

Aus dem bashHandbuch:

history-size (nicht gesetzt)

Legen Sie die maximale Anzahl von Verlaufseinträgen fest, die in der Verlaufsliste gespeichert sind. Bei Null werden alle vorhandenen Verlaufseinträge gelöscht und keine neuen Einträge gespeichert. Bei einem Wert unter Null ist die Anzahl der Verlaufseinträge nicht begrenzt. Standardmäßig ist die Anzahl der Verlaufseinträge auf den Wert der HISTSIZE Shell-Variablen festgelegt. Wenn versucht wird history-size, einen nicht numerischen Wert festzulegen, wird die maximale Anzahl von Verlaufseinträgen auf 500 festgelegt.

Also , wenn Sie festgelegt HISTSIZE, nicht festgelegt history-sizein .inputrc. Der Readline-Bibliothek (für die .inputrcdie Konfiguration gilt) ist es egal, was Sie einstellen HISTFILESIZE. HISTFILESIZEist die Größe, auf die die Verlaufsdatei ( $HISTFILE) beim Beenden einer bashShell-Sitzung abgeschnitten wird (von bash, nicht von der Readline-Bibliothek).

Gemäß der Frage " Gibt es eine Möglichkeit, die Größe der Verlaufsliste in Bash auf mehr als 5000 Zeilenhistory-size festzulegen ? " Scheint die Einstellung der Readline-Bibliothek die HISTSIZEEinstellung in der Shell zu überschreiben , wenn beide festgelegt sind.

Die nocaseglobShell-Option stimmt nicht mit der completion-ignore-caseEinstellung in überein .inputrc. Bei der Shell-Option geht es um das Globbing-Verhalten von Dateinamen, während die Readline-Einstellung mit der Vervollständigung des Dateinamens zusammenhängt (wenn Sie Tabauf die Befehlszeile drücken ).

Die .inputrcEinstellungen wirken sich nicht nur auf alle Programme aus, die die Readline-Bibliothek verwenden bash.

bashkann ohne Readline-Unterstützung gestartet werden, indem es mit dem --noeditingFlag aufgerufen wird .


Beachten Sie, dass beide HISTSIZEund HISTFILESIZEsind Shell - Variablen , nicht Umgebungsvariablen und müssen daher nicht exportiert werden.

Kusalananda
quelle