如何将 Mac OS X 上的登录 Shell 从 bash 更改为 zsh?

Idl*_*ool 93 shell macos

我正在尝试将 Mac OS X 的登录外壳从bash更改为zsh. 我认为在 Mac OS X Leopard 中是可能的,但对于 OS X Lion 我找不到方法。我真的希望可以将登录 shell 从 bash 更改为其他内容。我不确定在哪里寻找。

Spi*_*iff 108

您可以通过以下命令更改用户 shell:

chsh -s /bin/zsh
Run Code Online (Sandbox Code Playgroud)

注意:要为非标准 shell 更改它,请确保其路径已添加到/etc/shells文件中。

  • 如果你遇到非标准 shell 的问题,我认为你应该能够将 `/usr/local/bin/zsh` 添加到 `/etc/shells` 中,它应该可以解决这个问题。 (43认同)
  • 自制 zsh 安装信息实际上建议您将其添加到 /etc/shells:`==> 警告要使用此版本的 Zsh 作为您的登录 shell,请将其添加到 /etc/shells。` (13认同)
  • 我用 Homebrew 安装了更新版本的 zsh,它将 zsh 放在 `/usr/local/bin/zsh` 中。不幸的是,chsh 不允许这样做,它说`chsh: /usr/local/bin/zsh: non-standard shell`。在这种情况下,丹尼尔贝克的回答是一个合适的解决方案。 (4认同)

Dan*_*eck 59

有趣的是,您在问题中链接到的相同方法仍然适用于通过 Sierra (10.12) 的 OS X Lion。唯一的区别是:首选项窗格被命名为Users & Groups而不是Accounts

  1. 打开“系统偏好设置”?“用户和组”。
  2. 除非锁定图标已解锁,否则请单击锁定图标并验证您自己。
  3. 上下文单击用户名列表中的用户(Control单击时按住键,或右键单击右手两键鼠标)。
  4. 在上下文菜单中,选择“高级选项...”。
  5. 在出现的工作表中选择“登录外壳”。

“高级选项”屏幕顶部的注释声称您必须重新启动才能使更改生效,但您实际上只需要注销并重新登录。

在此处输入图片说明

  • 右键单击用户名以显示包含“高级选项”的菜单。我花了几分钟才找到。 (4认同)
  • 确认仍在 10.10 优胜美地工作。 (2认同)

小智 12

或者:

sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)
Run Code Online (Sandbox Code Playgroud)

  • 你能解释为什么这回答了这个问题吗? (3认同)
  • 另外要注意通过homebrew安装的zsh的路径不同。我这样做:`sudo dscl。更改 /users/$USER UserShell /bin/bash $(which zsh)` (3认同)