.inputrc 与 .bashrc 设置

.inputrc 与 .bashrc 设置

我注意到文件中的一些设置.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还是超越它?

答案1

bash手册中:

history-size(未设置)

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

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

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

shell选项与中的设置nocaseglob不一样。 shell 选项与文件名通配行为有关,而 readline 设置与文件名完成(当您按命令行时)有关。completion-ignore-case.inputrcTab

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

bash可能会开始没有通过使用--noediting标志调用它来支持 readline。


请注意,两者HISTSIZEHISTFILESIZE都是外壳变量,不是环境变量,因此不需要导出。

相关内容