히스토리 리콜 명령 수를 설정하는 방법


15

bash를 사용하고 있습니다. 내 명령 기록을 탐색하려면 history동일한 이름의 Gnu 프로그램을 호출한다고 생각 하는 명령을 호출합니다. (나는 더 나은 bash 특정 방법이 있는지 모르겠다).

내 .bashrc에는 현재 export PROMPT_COMMAND='history -a'실행중인 여러 bash 세션의 기록을 보존 하는 줄 이 있습니다.

히스토리를 수행하면 현재 524 개의 항목 만 표시됩니다. 이 구성 가능합니까? 나는 이것을 2000보다 훨씬 더 큰 숫자로 늘리고 싶습니다.

답변:


19

우선, history 이다 bash는 특정 방법은 없음 더. 이 history명령은 bash 내장으로 실행하여 볼 수 있습니다.

$ type history 
history is a shell builtin

이제 기억하는 명령의 수는 HISTSIZE변수에 의해 제어됩니다 . 큰 숫자로 설정하려면이 줄을 추가하여 .profile(이 것보다 더 나은 곳입니다 이유를 .bashrc참조하십시오 여기가 ) :

export HISTSIZE=2000

이제부터는 history마지막으로 실행 한 2000 개의 명령을 반환합니다.


5

그렇습니다 man bash.

HISTSIZE-명령 기록에서 기억할 명령 수

그러나 Readline의 변수가 있습니다.history-size

히스토리 목록에 저장된 최대 히스토리 항목 수를 설정하십시오. 0으로 설정하면 기존 기록 항목이 삭제되고 새 항목이 저장되지 않습니다. 0보다 작은 값으로 설정하면 히스토리 항목 수가 제한되지 않습니다. 기본적으로 히스토리 항목 수는 제한되지 않습니다.

당신은 설정할 수 있습니다 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: CHANGES


2

HISTSIZE변수 지시는 얼마나 많은 명령을 실행 역사에 보관되어 HISTFILESIZE실행중인 역사에서 많은 명령은 쉘이 종료하면 저장되는 방법을 결정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.