我正在尝试增加 bash 中历史记录的大小。我的 ~/.bash_profile 中有以下内容
# Control the command history
但是,当我
export HISTFILESIZE=10000
export HISTSIZE=10000
export HISTCONTROL=ignoredups:erasedups
echo $HISTSIZE
总是得到50
。我是否遗漏了什么?我的系统管理员是否在更高级别的配置文件中放置了一些命令,可以防止更改 HISTSIZE?
答案1
许多发行版似乎在内部某处进行了.bash_profile
检查。您能否稍后获取来源并设置50?.bashrc
.bashrc
HISTSIZE
答案2
你的操作系统和 BASH 版本是什么?尝试
echo $BASH_VERSION
我4.2.20(2)-release
使用苹果系统/ Homebrew...这是我的配置
export HISTIGNORE="ls:ll:cd:pwd"
export HISTFILESIZE=3000
export HISTSIZE=3000
export HISTCONTROL=ignoredups:erasedups
export HISTTIMEFORMAT="[$(tput setaf 6)%F %T$(tput sgr0)]: " # colorful date
尝试更新您的 bash。此外,也许~/.bashrc
或/etc/bashrc
或/etc/profile
正在覆盖您的本地设置...
答案3
您的~/.bash_profile
脚本可能未执行,或者稍后会有一个脚本覆盖该值。您可以添加一些echo bash_profile
语句来检查。
通常,这些 bash 变量在中定义.bashrc
,因此您可以尝试将其移动到那里。
另外,不要export
与HIST*
变量一起使用。它们不是环境变量,而是 bash 变量。导出它们是无用的。这就是为什么将它们放入/etc/environment
不会产生任何效果的原因。
答案4
关于一些评论说某些东西正在覆盖我的环境变量,我通过尝试从命令行设置命令来消除这种说法。我尝试设置 HISTSIZE 9999 和设置 HISTSIZE=9999,但 HISTSIZE 仍然回显在 2000。
然后我尝试导出 HISTSIZE=9999 但它仍然保持在 9999!
我必须正确理解我的 Bash 语法 :/
要点是调用:export HISTSIZE=9999