Bash 中未设置 HISTSIZE

Bash 中未设置 HISTSIZE

我正在尝试增加 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.bashrcHISTSIZE

答案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,因此您可以尝试将其移动到那里。

另外,不要exportHIST*变量一起使用。它们不是环境变量,而是 bash 变量。导出它们是无用的。这就是为什么将它们放入/etc/environment不会产生任何效果的原因。

答案4

关于一些评论说某些东西正在覆盖我的环境变量,我通过尝试从命令行设置命令来消除这种说法。我尝试设置 HISTSIZE 9999 和设置 HISTSIZE=9999,但 HISTSIZE 仍然回显在 2000。

然后我尝试导出 HISTSIZE=9999 但它仍然保持在 9999!

我必须正确理解我的 Bash 语法 :/

要点是调用:export HISTSIZE=9999

相关内容