man:在 zsh 中未找到命令(Mac OS 10.58)

man:在 zsh 中未找到命令(Mac OS 10.58)

我从默认更改为 zsh(通过将终端中的“打开的 Shell”首选项更改为“命令(完整路径)”设置为 /bin/zsh

虽然大多数方法似乎都有效,但我尝试查看命令的手册页时,却收到“权限被拒绝”消息。当我尝试 sudo 时,却收到“man:未找到命令”。

我将其更改为默认 shell (/bin/tcsh),当我打开新 shell 时,我得到的结果如下:

Last login: Fri Nov 18 13:53:50 on ttys000
Fri Nov 18 13:55:21 CST 2011
/usr/bin/manpath: Permission denied.

如果我尝试 man,我会得到相同的“命令未找到消息”。我猜我的 PATH 中存在问题,但我不知道如何修复它。“echo $PATH”(在 tcsh 中)得到:

/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/texbin

在 zsh 中,它得到:

/usr/bin:/bin:/sw/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-darwin-current:/usr/sbin:/sbin:/usr/texbin:/usr/X11/bin

有任何想法吗?

答案1

您的代码确实有问题PATH,但问题不在于变量的值PATH。相反,您搞砸了变量的权限/usr/bin或其中的文件。运行

ls -ld / /usr /usr/bin /usr/bin/manpath

您应该可以看到rwxr-xr-x所有四个权限。如果没有,请修复权限。此命令应将权限恢复为合理值:

chmod 755 / /usr /usr/bin /usr/bin/*

您的系统中可能还有其他文件的权限被破坏;请查看并查看。

相关内容