现象
sed: -e expression #1, char 24: unknown command: `.'
切换用户时(此用户是原来WSL2的默认账户),shell报以上错误。
考虑到是切换用户才导致的,因此怀疑.zshrc (or .bashrc)
内有命令错误
移除未使用的命令
使用debug模式,尝试读取并执行.zshrc
如果不能确定当前.zshrc配置,请清理后再执行source!
source ~/.zshrc -x
果然,发现了新的错误:
compinit:501: no such file or directory: /usr/share/zsh/vendor-completions/_docker
这是由于复制时WSL2和WSL1在处理docker的方案上不同,导致自动补全的链接出现问题,移除WSL1容器内的docker自动补全
cd /usr/share/zsh/vendor-completions
# remove your deprecated auto-completions
再执行source,问题解决!