无法在 macOS/Catalina 中将默认 shell 从 zsh 恢复为 bash:“chsh:未进行任何更改”

无法在 macOS/Catalina 中将默认 shell 从 zsh 恢复为 bash:“chsh:未进行任何更改”

我有一个新的catalina系统,需要与传统系统兼容linuxbash这是必须的。我参考了各种参考资料

    chsh -s /bin/bash

但不太开心:

(base) 19:44:28// $chsh -s /bin/bash
Changing shell for steve.
Password for steve:
chsh: no changes made

为什么这不起作用?

答案1

不知道为什么这种方法不起作用,但我自己从未使用过这种方法。尝试使用 Mac 方式。详细信息请访问https://www.howtogeek.com/444596/how-to-change-the-default-shell-to-bash-in-macos-catalina/,但基本上转到系统偏好设置->帐户,解锁,按住 Ctrl 键并单击您的帐户名称(高级选项),然后更改 shell!

答案2

chsh命令实际上运行正常。它会覆盖“系统偏好设置”...“用户和组”...“[解锁,右键单击用户]”高级选项中的设置。您可以使用以下命令检查它是否已更改默认 shell:

echo $SHELL

你可以看到你实际处于哪个 shell 中

echo $0

如果两者之间仍有差异,则可能是由于终端程序的设置所致。例如,在默认终端的“首选项...常规”中,有一个设置贝壳打开这可能是您仍然被置于不必要的 shell 中的原因。

答案3

当我尝试将 shell 设置为 时,我收到了“chsh:未进行任何更改”消息,zsh但我的终端仍然以 开头bash。我检查了系统偏好设置 / 用户和组 / my-name / 高级选项,登录 shell 正确位于/bin/zsh

问题是终端的偏好, 有 ”Shell 打开时“设置为/bin/bash。我将其更改为“默认登录 shell”,并且它按预期工作。

终端偏好设置

答案4

忽略“未做任何更改”。您只需退出 shell 程序即可。您可以按 Command q 来执行此操作。重新启动 iTerm 时,您可以通过输入 echo $SHELL 来确认更改。

相关内容