如何在不打开终端的情况下更改默认 shell?

Posted

技术标签:

【中文标题】如何在不打开终端的情况下更改默认 shell?【英文标题】:How can I change default shell without opening terminal? 【发布时间】:2022-01-15 15:43:57 【问题描述】:

macOS 新手,我试图将默认 shell 从 zsh 更改为 fish,但我设置了错误的默认 shell 路径。

这就是我所做的:

brew install fish
echo /opt/homebrew/bin/fish | sudo tee -a /etc/shells
chsh -s /usr/bin/fish

我应该输入chsh -s /opt/homebrew/bin/fish,但我输入了chsh -s /usr/bin/fish

现在 iterm2 停止并显示警告消息:会话在启动后很快结束。检查配置文件“默认”中的命令是否正确。,所以我无法运行chsh -s 命令。

我该如何解决这个问题?

我可以在不打开终端的情况下更改默认 shell 路径吗?

【问题讨论】:

【参考方案1】: 在 Mac 上的“终端”应用中,选择“终端”>“首选项”,然后单击“常规”。 在“Shell 打开方式”下,选择“命令(完整路径)”,然后输入要使用的 shell 的路径。

您也可以从“系统偏好设置”中更改此设置。前往 Mac 上的系统偏好设置 > 用户和群组。单击锁定图标并输入您的密码。按住 Ctrl 键,在左侧窗格中单击您的用户帐户名称,然后选择“高级选项”。

【讨论】:

用户和组首选项中有关“高级选项”的警告:更改外壳相对安全,但如果您不了解确切的内容,更改其他内容可能会以令人着迷的方式搞砸您的帐户你在做。

以上是关于如何在不打开终端的情况下更改默认 shell?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不更改 matplotlib 默认值的情况下使用 seaborn?

如何在不更改当前 URL 的情况下打开新窗口?

如何在不转换列的情况下更改 MySQL 中的表(默认)排序规则[重复]

如何使用终端默认情况下阻止Mac应用保存到iCloud

Rails 5 和设计:如何在不更改默认策略的情况下禁用基于令牌的策略上的会话

终端模拟器如何打开会话窗口?