일부 bash 인스턴스는 이전 명령을 재사용하고 편집할 때 명령 기록을 변경하지만 다른 인스턴스는 그렇지 않습니다. 검색을 해봤지만 기록의 명령이 재사용 및 편집 시 수정되는 것을 방지하는 방법을 설명하는 내용을 찾을 수 없습니다.
이런 문제가 있습니다이것, 그러나 이는 이력이 편집되는 것을 처리하는 방법에 관한 것 같습니다. 최근에 명령을 재사용할 때 기록을 편집하는 bash 인스턴스를 발견했습니다. 이전에 사용했던(내가 알고 있는) 모든 bash 쉘은 명령 및 편집 명령을 재사용할 때 기록을 변경하지 않도록 구성되었습니다. (어쩌면 지난 15년 동안 내 쉘 기록에 제대로 주의를 기울이지 않았을 수도 있습니다...)
따라서 이것이 아마도 가장 좋은 질문일 것입니다. bash에게 기록을 절대 수정하지 않도록 지시할 수 있습니까? 그렇다면 어떻게 해야 합니까?
답변1
증거가 revert-all-at-newline
답입니다. Bash 프롬프트에서 명령을 사용해도 아무런 효과가 없으므로 이를 파일 set revert-all-at-newline on
에 포함해야 합니다 . (물론 새로운 쉘을 시작해야 합니다.)~/.inputrc
set
또한, 나는 ~/.inputrc
로딩 중이라는 것을 알았습니다.바꾸다 /etc/inputrc
존재하는 경우 이는 생성할 때 ~/.inputrc
이 문제를 해결하려면 .~/.inputrc
$include /etc/inputrc
올바른 방향을 알려준 @StéphaneChazelas에게 감사드립니다.
답변2
~/.bashrc에 추가할 수 있습니다.
shopt -s histappend