Bash 추가 기록을 중지하는 방법


9

Bash의 터미널 기록을 원하는 방식으로 설정하는 데 많은 어려움이 있습니다. 중복 항목을 갖고 싶지 않으며 명령을 입력하면 명령이 저장되고 위의 중복 항목이 제거됩니다.

문제는 history명령이 원하는 방식으로 작동한다는 것을 보여 주지만, 일단 로그 아웃하면 복제본이 다시 돌아옵니다. 나는 그것이 역사를 기존의 것에 추가하고 있다고 생각합니다. 내 .bashrc파일에 다음 줄이 있습니다.

HISTCONTROL=ignoreboth:erasedups
shopt -u histappend

나는 주석 해제를 시도 shopt했지만 여전히 로그 아웃 기록을 추가합니다. 로그 아웃하기 전의 내역을 정확히 어떻게 확인할 수 있습니까?


2
좋은 설명은 여기에 있습니다 : unix.stackexchange.com/questions/18212/...
jasonwryan

답변:


7

erasedups당신이 중복에 관해서하고 싶은 일을해야 - 중복을 삭제하는 것은 역사에 새 항목을 추가하는 순간에 트리거되는 단지 참고하고 그냥 가장 최근 남겨 명령의 모든 이전 발생을 지워 것이다.


" 로그 아웃하기 전에 어떻게 히스토리를 정확히 사용할 수 있습니까? "

내가 보는 방식으로, 이것은 때때로 한 번만 유용 할 수 있습니다. (그렇지 않으면 왜 역사를 전혀 사용하겠습니까?) 발행하여 할 수 있습니다

history -c; history -r

현재 메모리에 보관 된 모든 기록 항목을 지우고 기록 파일에서 전체 기록을 다시 읽습니다. 따라서 현재 쉘 세션에 로그인 한 후 발행 한 모든 명령을 잊어 버렸습니다. 나는 많은 테스트 (많은 유사한 명령이지만 실제로는 복제하지 않음)를하고 내 역사를 쓰레기로 만들고 싶지 않은 상황에서 매우 유용하다는 것을 알았습니다. 그래서 내 별칭이 있습니다 .bashrc.

alias hrr='history -c; history -r'

( hrr"역사 다시 읽기"로 기억).

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