我从默认更改为 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/*
您的系统中可能还有其他文件的权限被破坏;请查看并查看。