.inputrc与.bashrc设置


9

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

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

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

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

Answers:


10

bash手册中:

history-size (未设定)

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

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

根据“ 是否有办法将bash中的历史记录列表的大小设置为5000行以上? ” 这个问题,如果同时history-size设置了readline库,则readline库的HISTSIZE设置似乎会覆盖shell中的设置。

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

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

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


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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.