![zsh를 사용할 때 기록 무시](https://linux55.com/image/166063/zsh%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%EA%B8%B0%EB%A1%9D%20%EB%AC%B4%EC%8B%9C.png)
HISTORY_IGNORE
변수를 설정했는데 ~/.zshrc
이 명령이 작성되는 것을 올바르게 방지했습니다 ~/.zsh_history
.
up하지만 제가 정말로 원하는 것은 및 를 누를 때 이러한 항목이 표시되지 않는 것입니다 down. (bash를 사용할 때와 동일 HISTIGNORE
)
어떻게 해야 하나요?
답변1
이를 위해서는 Hook을 작성해야 합니다. 말대로HISTORY_IGNORE
문서 에서:
HIST_NO_STORE
옵션이나 후크를 비교하십시오zshaddhistory
. 둘 중 하나를 사용하면 해당 명령이 상호 작용 기록에 추가되지 않습니다.HISTORY_IGNORE
처음부터 기록 추가를 중지 하려면 다음 후크를 정의할 수 있습니다.zshaddhistory() { emulate -L zsh ## uncomment if HISTORY_IGNORE ## should use EXTENDED_GLOB syntax # setopt extendedglob [[ $1 != ${~HISTORY_IGNORE} ]] }
제가 직접 테스트한 결과 중요한 결과는 다음과 같습니다.
$1
포함하다선을 넘어마지막에. 스키마를 작성할 때 이 점을 유의하시기 바랍니다HISTORY_IGNORE
. 이를 고려하지 않으면 일치하는 항목이 없습니다.- 이 기능은 Zsh가 메모리 내 기록을 기록 파일에 쓸 때마다 적용됩니다. 이런 식으로,소급하여기록에서 해당 행을 삭제하세요. 이것에 조심하세요!