나는 zsh에 익숙하지 않고 이상한 행동을 발견했지만,이 모든 것들이 정상입니다.
방금 .zshrc 파일에 대해 작성한 zsh 함수에서 로컬 배열을 선언 할 때이 매우 이상한 동작을 보았습니다. 내가 로컬 어레이를 선언했을 때, 나는 프롬프트가 미쳐 버렸습니다. 결국 무작위로 생성 된 두 개의 매우 이상한 함수를 추적했습니다. 나는 그것을 단순한 경우로 축소했다.
% function () { local foobar=(); echo frog; }
% echo ${functions[foobar=]}
echo frog
% echo ${functions[local]}
echo frog
첫 번째 이상한 점은 frog
익명의 기능에서 결코 인쇄되지 않습니다. 하지만 실제로 이상한 것은 두 개의 함수가 foobar=
과 local
만들어야합니다.
이로 인해 zsh 프롬프트에 모든 종류의 문제가 발생합니다. 언제든지 local
사용 된 키워드가 인쇄 됨 frog
.
나는이 지구상에서 zsh로 하여금 그 기능을 만드는 원인이 무엇인지 궁금합니다.
나는 사용하고있다. zsh 5.0.2