항목을 재사용하고 수정할 때 bash 편집 기록을 어떻게 중지합니까?

항목을 재사용하고 수정할 때 bash 편집 기록을 어떻게 중지합니까?

일부 bash 인스턴스는 이전 명령을 재사용하고 편집할 때 명령 기록을 변경하지만 다른 인스턴스는 그렇지 않습니다. 검색을 해봤지만 기록의 명령이 재사용 및 편집 시 수정되는 것을 방지하는 방법을 설명하는 내용을 찾을 수 없습니다.

이런 문제가 있습니다이것, 그러나 이는 이력이 편집되는 것을 처리하는 방법에 관한 것 같습니다. 최근에 명령을 재사용할 때 기록을 편집하는 bash 인스턴스를 발견했습니다. 이전에 사용했던(내가 알고 있는) 모든 bash 쉘은 명령 및 편집 명령을 재사용할 때 기록을 변경하지 않도록 구성되었습니다. (어쩌면 지난 15년 동안 내 쉘 기록에 제대로 주의를 기울이지 않았을 수도 있습니다...)

따라서 이것이 아마도 가장 좋은 질문일 것입니다. bash에게 기록을 절대 수정하지 않도록 지시할 수 있습니까? 그렇다면 어떻게 해야 합니까?

답변1

증거가 revert-all-at-newline답입니다. Bash 프롬프트에서 명령을 사용해도 아무런 효과가 없으므로 이를 파일 set revert-all-at-newline on에 포함해야 합니다 . (물론 새로운 쉘을 시작해야 합니다.)~/.inputrcset

또한, 나는 ~/.inputrc로딩 중이라는 것을 알았습니다.바꾸다 /etc/inputrc존재하는 경우 이는 생성할 때 ~/.inputrc이 문제를 해결하려면 .~/.inputrc$include /etc/inputrc

올바른 방향을 알려준 @StéphaneChazelas에게 감사드립니다.

답변2

~/.bashrc에 추가할 수 있습니다.

shopt -s histappend

관련 정보