programing

ZSH의 기록에서 항목을 제거하는 방법

nasanasas 2020. 10. 26. 08:03
반응형

ZSH의 기록에서 항목을 제거하는 방법


zsh를 사용하여 명령을 실행했다고 가정 해 보겠습니다.

echo "mysecret" > file

다음 명령을 사용하여 항목 번호를 포함한 내역을 쉽게 인쇄 할 수 있습니다 fc -l.

1  echo "mysecret" >| file

그러나 어떻게 기록에서 항목을 쉽게 삭제할 수 있습니까?

man zshbuiltins 에서 해당 단락을 찾을 수 없습니다 .


* BSD / 다윈 :

LC_ALL=C sed -i '' '/porn/d' $HISTFILE

Linux (GNU sed) :

LC_ALL=C sed -i '/porn/d' $HISTFILE

$ HISTFILE에서 "porn"과 일치하는 모든 줄을 제거합니다.

를 사용하면 setopt HIST_IGNORE_SPACE$ HISTFILE에 기록되지 않도록 위의 명령 앞에 공백 문자를 추가 할 수 있습니다.

팀 아래에 자신의 의견에서 지적 , 접두사 LC_ALL = C의 방지 '불법 바이트 시퀀스'오류가 발생했습니다.


이 작업을 수행하는 우아한 방법이 있는지는 모르겠지만 비슷한 상황에서 로그 아웃 한 다음 (zsh가 버퍼를 비우고 내 기록을 파일에 쓸 수 있도록 허용) 로그인 한 다음 마지막 으로 수동으로 편집 ~/.zsh_history 하여 " 위험한 "라인.


zsh에서 HIST_IGNORE_SPACE 옵션을 사용하는 경우 명령 앞에 공백 ""을 추가 할 수 있으며 히스토리 파일에 기억되지 않습니다. 일반적으로 사용하는 비밀 명령이있는 경우 다음과 같은 작업을 수행 할 수 있습니다.

http://unsyncopated.com/blog/index.php/2007/08/18/omitting-certain-commands-from-zshs-history/

참고 URL : https://stackoverflow.com/questions/7243983/how-to-remove-an-entry-from-the-history-in-zsh

반응형