자동 완성 및 기록을 위해 zsh를 사용하는데 잘 작동하지만 명령 기록이 때때로 원치 않는 항목으로 채워지는 경우가 있습니다. 예를 들어 movies
폴더 아래에서 많은 작업을 수행합니다. 등, 파일 이동, 이름 바꾸기 등이 전혀 표시되어서는 안 됩니다. 명령 내역.
문제를 방지하고 일부 특정 폴더에 저장된 명령 기록을 제외할 수 있습니까?
답변1
zshaddhistory
후크 기능을 사용하여 기본 "기록 저장" 동작을 무시할 수 있는 것 같습니다 .
zshaddhistory() {
case $PWD in
(*/movies) return 1;;
(*) return 0;;
esac
}
man zshmisc
zshaddhistory 함수를 언급하는 참고자료의 설명을 참조하세요 .
히스토리 라인을 대화형으로 읽을 때 실행되기 전에 실행됩니다. 유일한 인수는 완전한 히스토리 라인입니다(종료 줄 바꿈이 여전히 존재하도록).
후크 함수가 0이 아닌 값을 반환하면 히스토리 라인은 저장되지 않지만 다음 라인이 실행될 때까지 히스토리에 남아 있으므로 즉시 재사용하거나 편집할 수 있습니다.