.inputrc 与 .bashrc 设置

one*_*any 9 bashrc inputrc

我注意到.bashrc.inputrc文件中的一些设置看起来相同或相似,例如:

shopt -s nocaseglob对比set completion-ignore-case
export HISTSIZE对比set history-size
export HISTFILESIZE对比set history-size

.inputrc设置是否也会影响 python shell 中的完成和历史大小(如果在终端内运行)?

HISTSIZE通过限制history-size或它覆盖它?

Kus*_*nda 10

bash手册:

history-size (未设置)

设置历史列表中保存的最大历史条目数。如果设置为零,则删除任何现有历史条目并且不保存新条目。如果设置为小于零的值,则历史条目的数量不受限制。默认情况下,历史条目的数量设置为HISTSIZE shell 变量的值。如果尝试设置history-size为非数字值,则最大历史条目数将设置为 500。

所以如果你设置了HISTSIZE,不要设置history-size.inputrc。readline 库(为其.inputrc配置)不关心您设置HISTFILESIZE的内容。 HISTFILESIZE$HISTFILEbashshell 会话退出时历史文件 ( ) 被截断的大小(由bash,而不是由 readline 库)。

根据问题“有没有办法将bash中的历史列表的大小设置为超过5000行? ”,history-sizereadline库的HISTSIZE设置似乎覆盖了shell中的设置,如果两者都设置了。

nocaseglob外壳的选择是不一样completion-ignore-case的设定.inputrc。shell 选项与文件名通配行为有关,而 readline 设置与文件名完成有关(当您按下Tab命令行时)。

这些.inputrc设置会影响所有使用 readline 库的程序,而不仅仅是bash.

bash可以在没有readline 支持的情况下通过使用--noediting标志调用它来启动。


请注意,HISTSIZEHISTFILESIZE都是shell 变量,而不是环境变量,因此不需要导出。