거기에 기능이 있었는데 .zshrc
삭제했어요.
.zshrc
이제 가져오려고 하면 가져오지만 한때 존재했던 기능을 메모리에서 제거하지는 않습니다.
내 컴퓨터를 재부팅하지 않고 이 기능을 제거할 수 있는 방법이 있습니까(이제는 메모리, zsh 네임스페이스 등을 믿습니다)?
답변1
unhash -f functionname
zsh에서는 기능을 사용하거나 제거할 수 있습니다 unfunction functionname
.
그러나 이것은 주어진 시작 파일에서 제거한 기능을 자동으로 정리하지 않습니다. 왜냐하면 쉘은 함수를 원래 어디서 얻었는지 기억하지 못하고 동일한 파일을 다시 얻는 데 특별한 의미를 부여하지 않기 때문입니다. 그러므로 무엇을 잊고 싶은지 알아야 합니다.
.bashrc
주제에서 언급했듯이 bash에 해당하는 것은 다음과 같습니다 .unset -f functioname
답변2
unhash -mf "*"
모든 기능을 삭제하는 데 사용할 수 있습니다.
표준 zsh 장점을 제거하므로 /etc/zsh/zshrc
.
내 .zshrc의 시작 부분에는 다음이 있습니다.
# Clear all functions and aliases
unhash -mf "*"
unhash -ma "*"
. /etc/zsh/zshrc # reload standard functions and aliases