Bashrc

.inputrc 與 .bashrc 設置

  • January 29, 2018

我注意到一些設置.bashrc.inputrc文件看起來相同或相似,例如:

shopt -s nocaseglobset completion-ignore-case

export HISTSIZEset history-size

export HISTFILESIZEset history-size

設置是否.inputrc也會影響 python shell 中的完成和歷史大小(如果在終端內執行)?

HISTSIZE受限制history-size還是覆蓋它?

bash手冊:

history-size(未設置)

設置歷史列表中保存的最大歷史條目數。如果設置為零,則刪除任何現有的歷史條目並且不保存新條目。如果設置為小於零的值,則歷史條目的數量不受限制。預設情況下,歷史條目的數量設置為HISTSIZE shell 變數的值。如果嘗試設置history-size為非數字值,則歷史條目的最大數量將設置為 500。

所以如果你設置,HISTSIZE不要設置history-size.inputrcreadline 庫(為其.inputrc配置)並不關心您設置HISTFILESIZE的內容。 是當shell 會話退出時HISTFILESIZE歷史文件 ( $HISTFILE) 被截斷的大小(通過,而不是通過 readline 庫)。bash``bash

根據問題“ Is there a way to set the size of the history list in bash to more than 5000 lines? ” ,如果兩者都設置history-size,readline庫的設置似乎會覆蓋HISTSIZEshell中的設置。

nocaseglobshell選項與completion-ignore-case. .inputrcshell 選項與文件名通配行為有關,而 readline 設置與文件名完成有關(當您Tab在命令行上按下時)。

這些.inputrc設置會影響所有使用 readline 庫的程序,而不僅僅是bash.

bash可以在沒有readline 支持的情況下通過使用--noediting標誌呼叫它來啟動。


請注意,兩者HISTSIZE都是HISTFILESIZEshell變數,而不是環境變數,因此不需要導出。

引用自:https://unix.stackexchange.com/questions/420356