$ HISTCONTROL=ignoredups

    서로 다른 셸이 명령 히스토리를 공유하는가?

    각각의 셸은 저마다 별도의 명령 히스토리를 갖는다.

    지금 막 실행한 대화형 셸에 명령 히스토리가 있다. 왜 그런가?

    대화형 셸을 닫으면, 그때까지의 명령 히스토리를 $HOME/.bash_history 파일이나 환경변수 HISTFILE에 설정된 값이 가리키는 파일에 저장한다.

    $ echo $HISTFILE
    /home/smith/.bash_history

    그리고 새로 셸을 실행하면 이 파일에서 명령 히스토리를 불러온다. 이 때문에 지금 막 실행한 셸에도 명령 히스토리가 존재하는 것이다. 만약 여러 개의 셸을 사용한다면 모든 셸이 명령 히스토리를 같은 파일에 저장하므로, 새로운 셸을 실행했을 때 어떤 명령 히스토리가 복원될지를 정확하게 예측하기는 어렵다.

    환경변수 HISTFILESIZE는 파일에 저장할 명령 히스토리의 건수를 설정한다. HISTSIZE 변수의 값을 변경해 명령 히스토리 건수를 조정했다면 이 변수 역시 함께 수정하는 것이 좋다.

    $ echo $HISTFILESIZE
    500
    $ HISTFILESIZE=10000
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.