我不喜欢每次启动终端时都重新输入鱼。我希望Fish默认开启。如何将Fish shell设置为Mac上的默认shell ?


当前回答

可以使用chsh更改用户的shell。

例如,运行以下代码将shell更改为Zsh

chsh -s /bin/zsh

正如Lorin在手册中所描述的,如果操作系统不知道shell,您必须将其添加到其已知列表:/etc/shell .

其他回答

Terminal.app →首选项 → 一般→ 贝壳打开,→/垃圾箱/鱼

打开终端,按下命令+,(逗号)。这将打开一个首选项窗口。 第一个标签是“General”。 找到“shell open with”设置,并选择第二个需要shell完整路径的选项。 将链接粘贴到fish命令,通常是/usr/local/bin/fish。

请看这张截图,其中zsh被设置为默认值。

我使用的是macOS v10.12 (Sierra)。它也适用于macOS v10.14 (Mojave)。

要更改Mac上的默认shell,运行以下命令:

chsh -s <name-of-shell>

你可以选择的shell列表有:

/bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh

因此,如果你想从/bin/zsh shell,你的命令将如下所示:

chsh -s /bin/zsh

您可以通过运行以下命令查看系统中所有可用的shell:

cat /etc/shells

M1 mac上的Homebrew应该使用/opt/ Homebrew而不是/usr/local。

您可以检查鱼位置,鱼。对我来说,Fish在/opt/homebrew/bin/ Fish中,这是我添加到etc/shell的位置。

chsh程序将允许您更改默认shell。它需要可执行文件的完整路径,所以如果你的shell是Fish,那么当你输入哪个Fish时,它会希望你提供给定的输出。

您将看到以“Shell:”开头的一行。如果你从未编辑过它,它很可能会显示“Shell: /bin/bash”。将/bin/bash路径替换为所需shell的路径。

在macOS v10.14 (Mojave)上,我必须做以下事情(以Z shell (zsh)为例):

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells"
chsh -s $(which zsh)