打开终端提示(eval):1 parse error near 'then'报错求助
报错根因
你的.zshrc中pyenv相关配置行使用了中文全角双引号,zsh无法识别全角引号作为字符串边界,解析配置时会把语句拆碎,执行eval时就会触发parse error near 'then'的语法报错。
出错的是最后两行pyenv配置:
export PATH=“$HOME/.pyenv/bin:$PATH” eval “$(pyenv init -)”
这两行里的“、”是中文输入法下输入的全角引号,不是shell语法认可的英文半角双引号"。
修复步骤
- 打开
.zshrc文件,把上述两行替换为使用半角双引号的正确写法:
export PATH="$HOME/.pyenv/bin:$PATH" eval "$(pyenv init -)"
- 保存文件后执行
source ~/.zshrc重载配置,确认无报错后重启终端即可。
可选优化
你的配置里存在powerlevel10k重复加载的问题:既然已经通过ZSH_THEME="powerlevel10k/powerlevel10k"指定了oh-my-zsh加载该主题,就不需要再手动加source ~/powerlevel10k/powerlevel10k.zsh-theme这行,删掉可以避免重复加载的性能开销。
日常写shell配置时注意,输入引号、$、括号这类语法符号时切到英文输入法,能避免绝大多数同类语法解析错误。
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

