我正在使用 bash。为了浏览我的命令历史记录,我正在调用一个history
命令,我相信该命令正在调用同名的 Gnu 程序。 (我不知道是否有更好的 bash 特定方法)。
在我的 .bashrc 中,我目前有一行export PROMPT_COMMAND='history -a'
用于保存我正在运行的多个 bash 会话的历史记录。
如果我查看历史记录,我目前只能看到 524 个条目。这是可配置的吗?我想将其增加到一个更大的数字,比如 2000。
答案1
首先,history
是bash 特定的方式,没有更好的了。该history
命令是 bash 内置命令,您可以通过运行看到
$ type history
history is a shell builtin
现在,它记住的命令数量由HISTSIZE
变量控制。要将其设置为更大的数字,请将此行添加到您的.profile
(为什么这是一个比它更好的地方.bashrc
,请参阅这里):
export HISTSIZE=2000
从现在开始,history
将返回您最近运行的 2000 个命令。
答案2
该HISTSIZE
变量指示在运行历史记录中保存多少命令,并HISTFILESIZE
确定 shell 退出后保存运行历史记录中的多少命令。
答案3
是的,man bash
说:
HISTSIZE - 命令历史记录中要记住的命令数
但有一个Readline
s 变量:history-size
设置历史记录列表中保存的最大历史记录条数。如果设置为零,则任何现有历史记录条目都将被删除,并且不会保存新条目。如果设置为小于零的值,则历史条目的数量不受限制。缺省情况下,历史记录条数没有限制。
您可以history-size
使用HISTSIZE=1000
或bind 'set history-size 1000'
中的以下行进行设置~/.inputrc
:set history-size 1000
例子:
HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing
bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints 13 echo $HISTSIZE\n14 bind -v | grep history-size\n15 history
history-size
可用时间bash-4.0-alpha
:变化
答案4
For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE
vi /home/siva/.bashrc # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE
Reference Link:
https://www.redhat.com/sysadmin/history-command