OS X 终端在打开时结束会话:权限被拒绝

Jon*_*Jon 6 terminal permissions macos

我在 MacOS X 10.7.4 上遇到终端问题。我知道它来自哪里,但我不知道如何解决它:

昨天,我安装了fish-shell 作为shell 替代品。按照安装说明,我结束输入以下命令:

chsh -s /usr/local/bin/fish
Run Code Online (Sandbox Code Playgroud)

我注意到我必须做一个:

sudo bash
Run Code Online (Sandbox Code Playgroud)

让它工作。做完我就辞职了。

今天,我尝试运行终端,我看到以下消息:

Last login: Wed Jun 27 12:38:01 on ttys000
login: /usr/local/bin/fish: Permission denied

[Opération terminée]
Run Code Online (Sandbox Code Playgroud)

(是的,我是法国人,这解释了我糟糕的英语)。我无法输入任何命令,因为我无法访问终端。我试过 iTerm2 但同样的问题。

在 Terminal/iTerm2 的默认配置文件中启动时没有设置命令(在 UI 中)。

我怎样才能收回权力?

谢谢你。

小智 13

在 中System Preferences,打开该Users & Groups部分,右键单击您的用户并选择Advanced Options。您可以在Login shell那里更改设置。


Chr*_*age 5

如果您在没有有效 shell 的情况下陷入困境,您可以使用Shell > New Command并输入不同 shell 的名称,例如,bash终端将使用该 shell 而不是默认值(确保“在 shell 内运行命令”是未选中的)。

然后您可以使用该 shell 来解决另一个 shell 的问题,或者将默认 shell 改回sudo chsh -s /bin/bash $LOGNAME(或您喜欢的任何 shell)。