bash의 일부 인스턴스는 이전 명령을 재사용하고 편집 할 때 명령 기록을 변경하지만 다른 bash는 그렇지 않습니다. 검색하고 검색했지만 기록의 명령이 재사용 및 편집 될 때 수정되는 것을 막는 방법을 찾을 수 없습니다.
이와 같은 질문 이 있지만 편집중인 기록에 대처하는 방법을 말하는 것 같습니다. 나는 최근에 명령을 재사용 할 때 기록을 편집하는 bash 인스턴스를 발견했습니다. 사용했던 모든 이전 bash 쉘은 재사용 할 때 기록을 변경하지 않도록 구성되었습니다. 명령을 편집하십시오. (아마도 지난 15 년 동안 쉘 역사에 적절한주의를 기울이지 않았을 것입니다 ...)
아마도 그것은 가장 좋은 질문 일 것입니다 : bash에게 절대로 역사를 수정하지 말라고 말할 수 있습니까? 그렇다면 어떻게합니까?
set revert-all-at-newline on
당신이 당신의 문제를 해결 링크 질문에? 문제를 재현하는 방법을 보여줄 수 있습니까? zsh
원하는 내용과 더 일치하는 동작을 사용할 수도 있습니다 .
history -p
재사용하고 싶은 모든 명령에 대해해야 할 일이 있습니까? 그렇다면, 그것은 내가 찾고있는 것이 아닙니다. 앞에서 언급했듯이 명령을 재사용하고 편집 할 때 기록을 수정하지 않는 bash 인스턴스를 사용했습니다.
revert-all-at-newline
내가 필요한 것이 아니라고 생각 합니다. 명령을 편집하고 CTRL-C를 눌러 취소하면 기록에 영향을 미치지 않기를 바랍니다. 히스토리를 수정 하지 않도록 bash를 구성 한 적이 없었 습니다. 이것은 때로는 새로운 설치가 어떤 방식으로 작동하고 때로는 다른 방식으로 동작하는 이유와 관련하여 혼란 스럽습니다. 그런데 명령 재사용시 히스토리를 편집하지 않는 인스턴스 에서 'off'로 설정되어 bind -V | grep revert
있음을 나타냅니다 revert-all-at-newline
.
bash
. 그것은 모두 readline에 관한 것입니다. readline
라이브러리 에는 다양한 구현 이 있으며 자체 설정 세트 (많은)와 자체 구성 파일이 있습니다. 이것이 설정인지 또는 단순히 구현의 차이인지 확실하지 않지만 bash가 아닌 readline 관련 문서에서 검색해야합니다.
history -p
히스토리 파일에 영향을주지 않고 히스토리 확장을 수행 하는 데 사용할 수 있습니다 .history -s
실행하지 않고 동일한 작업 을 수행하고 기록에 추가 할 수 있습니다 .HISTIGNORE='start of a command I never want in history.*:command2.*'
특정 명령을 기록에서 벗어나도록 할 수 있습니다 .