Як змінити розмір історії назавжди?


69

Розмір історії за замовчуванням в Ubuntu - 1000, але він занадто малий. Я хочу змінити його на 10000, тому додаю

export HISTSIZE=10000
export HISEFILESIZE=10000

до .profile та "джерелом" цього

source .profile

то я біжу

echo $HISTSIZE
echo $HISTFILESIZE

1000 відображалося для обох, але я перезавантажую комп'ютер, він пішов "за замовчуванням". Чому це не працює?


У вас тут запитання: export HISEFILESIZE=10000(хоча, здається, ви не були, .profileякщо відлуння спрацювало). На всякий випадок, якщо хтось на це подивиться, це повинно бутиHISTFILESIZE
Лев

Відповіді:


71

Я спробував те ж саме, лише щоб виявити, що підлий Ubuntu встановлює ці змінні ~/.bashrcза замовчуванням, які виконуються замість ~/.profileоболонок , які не входять у систему, таких як просто відкриття вікна терміналу. Зміна цих рядків у ~/.bashrcфіксованому для мене:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

6
hisfilesize в КБ?
Патоші パ ト シ

12
@duckx Ні, HISTFILESIZE - це номер рядка, що зберігається у файлі історії , тоді як HISTSIZE - це кількість рядків, що зберігаються та доступні в кожному процесі оболонки (а потім зберігаються в HISTFILESIZE). Зауважте, що без значення (або не числа, ні від’ємника) обмеження не відбувається.
vaab

2
Це чомусь не працює на терміналі XFCE
Michal Przybylowicz

1
@MichalPrzybylowicz: можна виправити, написавши це, /etc/bash.bashrcякщо це вам прийнятно. Дивіться нижче. (можливо, це теж було відсутнє export)
serv-inc

43

З довідкового керівництва Bash :

HISTSIZE 
    The maximum number of commands to remember on the history list.

    If the value is 0, 
       **commands are not saved** in the history list. 

    Numeric values less than zero result in 
       every command being saved on the history list (there is no limit). 

Отже, для нескінченного списку історії зробіть:
HISTSIZE = (деяке число менше 0 )

HISTFILESIZE 
    The maximum number of lines contained in the history file. 

    When this variable is assigned a value, 
        the history file is truncated, if necessary, 
        to contain no more than that number of lines 
        by removing the oldest entries. 

        The history file is also truncated to this size after 
        writing it when a shell exits. 

    If the value is 0, 
        **the history file is truncated to zero size.** 

    Non-numeric values and numeric values less than zero 
        inhibit truncation. 

Отже, для нескінченного .bash_history файлу історії зробіть:
HISTFILESIZE = (деяке число менше 0 )


2

Як згадував @Michal Przybylowicz , ці файли, здається, іноді ігноруються в Xubuntu (і Lubuntu). Якщо так, ви можете замість цього написати рядки

export HISTSIZE=10000
export HISTFILESIZE=10000

до/etc/bash.bashrc . Це змінить значення цих змінних середовища в усьому світі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.