parse error near 에러가 날 때...

0
post-thumbnail

가끔 zsh나 다른 쉘들을 사용하다보면, 알 수 없는 parse error near ... 에러가 날 때가 있어요. 문제는 대부분의 경우, 어디서 에러가 났는지 잘 알 수가 없는 경우가 태반이라는 겁니다.

저의 경우,

/home/myuser/.fzf/shell/key-bindings.zsh:14: parse error near `end'

이번에 원격 서버에 새로 oh-my-zsh, fzf, zplug, zoxide를 설치하려고 하는데 위와 같은 문제가 발생하더군요...

이것도 구글링해서 어디서 찾았는데, 매우 찾기 어려워서 한글로도 남겨둡니다...

에러 메세지만을 읽어서는 절대 원인을 찾으실 수 없습니다...


결론부터 말하자면,

.zshrc 파일 혹은 자신의 쉘 dotfiles 어딘가에

do
done
기타 등등...

이러한 reserved keywords를 사용하는 alias가 있는지 검토 바랍니다.

아마 사실 alias do='docker'가 원인일 경우가 대부분일 거에요.

간혹 alias done='?'을 설정해두시는 분들도 있구요...

저런 alias들은 문제가, 쉘의 예약어들이라서 alias로 덮어씌워지면 기존 기능들이 잘 동작을 못합니다. 어떤 파싱 문법을 쓰는지는 잘 몰라도...

파서 성능이 좀 아쉽네요...

Shell 에러를 찾는 데에 도움이 되셨길 바랍니다.

저는 이것 때문에 너무 고생해서

https://github.com/junegunn/fzf/issues/1688

여기에다가 5년전 이슈임에도 염치 불고하고 다른 분들을 위해 이유를 남겨뒀습니다...

junegunn 님께 알람이 가서 귀찮으셨다면 너무 죄송하네요... fzf 너무 잘 쓰고 있습니다. 감사합니다!

0개의 댓글

관련 채용 정보