2

Я пытаюсь увеличить размер моей истории в Bash. У меня есть следующее в моем ~/.bash_profile

# Control the command history
export HISTFILESIZE=10000
export HISTSIZE=10000
export HISTCONTROL=ignoredups:erasedups
Но когда я echo $HISTSIZE я всегда получаю 50 . Я что-то пропустил? Есть ли какая-то команда, которую мой системный администратор поместил в файл конфигурации более высокого уровня, который может помешать изменению HISTSIZE?

4 ответа4

5

Какая у вас версия ОС и BASH? пытаться

echo $BASH_VERSION

Я использую 4.2.20(2)-release через Mac OS X Lion / 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 проверяет .bashrc где-то внутри. Может ли ваш .bashrc быть получен через некоторое время и установить HISTSIZE 50?

0

Возможно, ваш ~/.bash_profile не выполняется, или если позже есть скрипт, который переопределяет значение. Вы можете добавить несколько операторов echo bash_profile для проверки.

Обычно эти переменные bash определены в .bashrc , поэтому вы можете попробовать переместить его туда.

Кроме того, не используйте export с переменными HIST* . Они не переменные среды, они переменные bash. Экспортировать их бесполезно. Вот почему их размещение в /etc/environment ничего не дает.

0

Попробуйте установить переменные в /etc/environment .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .