zsh 셸을 호출하면 alias
별칭 목록이 표시됩니다. 그 중 일부는 바람직하지만 일부는 그렇지 않습니다. 원래 .alias
내 홈 디렉터리에 파일을 만들고 source $HOME/.alias
내 .zshrc
. 내 에서 제공되는 파일의 일부가 아닌 기존 별칭을 어떻게 제거합니까 .zshrc
? (아마도 를 사용하여 하나씩 수행할 수 있지만 unalias
엄청나게 번거로운 것 같습니다.)
답변1
unalias
동시에 여러 별칭을 설정 해제할 수 있으므로 이 작업을 반드시 하나씩 수행할 필요는 없습니다.
모든 별칭을 삭제하고 에서 새로 다시 로드하는 것이 좋습니다 ~/.alias
.
unalias ${(k)aliases} ${(k)galiases} ${(k)saliases}; source
이를 위해서는 zsh/parameter
모듈을 로드해야 합니다. 로 확인하고 zmodload | grep parameter
로 로드하세요 zmodload zsh/parameter
.
매개변수 aliases
, galiases
및 는 saliases
각각 일반, 전역 및 접미사 별칭의 이름을 해당 확장에 매핑합니다. ${(k)parameter}
의 키로 대체됩니다 parameter
.
어떤 이유로 모듈을 로드할 수 없는 경우 다음 alias
명령 출력을 사용하여 문제를 해결할 수 있습니다.
unalias $(alias | cut -d = -f 1) ; source ~/.alias
특정 종류의 별칭만 설정 해제하려면 alias -r
일반 별칭(명령 대신 사용되는 별칭), alias -g
전역 별칭 및 alias -s
접미사 별칭에 사용하세요.
이 작업을 더 자주 수행해야 하는 경우에는 ~/.zshrc
(또는 거기에서 소스로 사용하는 다른 파일) 함수를 정의하면 됩니다.
reload-aliases () {
unalias ${(k)aliases}
source ~/.alias
}