当 $commands[zsh] 指向已删除的 zsh 时,omz reload 会出现 127 的错误
作者: fudianchn创建于 2026年9月16日更新于 2026年9月16日
描述错误
自 #13922 以来, _omz::reload 和更新后重启将一个非绝对的 ZSH_ARGZERO 替换为 $commands[zsh] 并执行该路径。$commands 由 zsh 的命令哈希表支持,并且当其目标文件被删除时,哈希条目不会失效。如果缓存的 zsh 路径不再存在,重新加载将执行一个无效路径,并以 no such file or directory 失败,退出状态为 127。单纯的 exec zsh 并不存在此问题: zsh 会检测到悬挂的哈希条目并重新搜索 $PATH。
内容来源: ohmyzsh/ohmyzsh