![OS X 终端在打开时结束会话:权限被拒绝](https://linux22.com/image/1320095/OS%20X%20%E7%BB%88%E7%AB%AF%E5%9C%A8%E6%89%93%E5%BC%80%E6%97%B6%E7%BB%93%E6%9D%9F%E4%BC%9A%E8%AF%9D%EF%BC%9A%E6%9D%83%E9%99%90%E8%A2%AB%E6%8B%92%E7%BB%9D.png)
我在 MacOS X 10.7.4 上使用终端时遇到问题。我知道问题出在哪里,但我不知道如何解决:
昨天,我安装了 fish-shell 作为 shell 的替代品。按照安装说明,我最终输入了以下命令:
chsh -s /usr/local/bin/fish
我注意到我必须做一个:
sudo bash
让它工作。一旦完成,我就退出了。
今天,我尝试运行终端并看到以下消息:
Last login: Wed Jun 27 12:38:01 on ttys000
login: /usr/local/bin/fish: Permission denied
[Opération terminée]
(是的,我是法国人,这解释了我糟糕的英语。)我无法输入任何命令,因为我无法访问终端。我尝试使用 iTerm2,但问题相同。
在 Terminal/iTerm2 的默认配置文件中(嗯,在 UI 中)启动时没有设置任何命令。
我怎样才能夺回权力?
谢谢。
答案1
在 中System Preferences
,打开Users & Groups
部分,右键单击您的用户并选择Advanced Options
。您可以Login shell
在那里更改设置。
答案2
如果你没有有效的 shell,你可以使用Shell > 新命令并输入不同的 shell 的名称,例如bash
,终端将使用该 shell 而不是默认的 shell(确保未选择“在 shell 内运行命令”)。
然后,您可以使用该 shell 来解决其他 shell 的问题,或者将默认 shell 改回sudo chsh -s /bin/bash $LOGNAME
(或您喜欢的任何 shell)。
答案3
首先使用Shell > New Command
然后使用另一个 shell(例如 C shell csh
);然后使用以下命令更改权限:
sudo chmod +x /usr/local/bin/fish