zsh를 사용할 때 기록 무시

zsh를 사용할 때 기록 무시

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가 메모리 내 기록을 기록 파일에 쓸 때마다 적용됩니다. 이런 식으로,소급하여기록에서 해당 행을 삭제하세요. 이것에 조심하세요!

관련 정보