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


当前回答

这个工作为我在新安装的Mac OS X v10.12 (Sierra):

将当前用户定义为shell的所有者 Sudo chown $(whoami) /etc/shell 将Fish添加到文件/etc/shell Sudo echo /usr/local/bin/fish >> /etc/shell 使用chsh将Fish设置为默认shell CHSH -s /usr/local/bin/fish 将root重新定义为shell的所有者 Sudo chown root /etc/shell

其他回答

对我来说,唯一有效的方法就是把所有这些方法结合起来。

首先,我必须将Fish可执行文件的路径添加到/etc/shell文件中 然后运行chsh -s /usr/local/bin/fish 最后,我输入Command +,并将/usr/local/bin/fish添加到默认路径

只有在我完成这三件事之后,Fish才开始作为默认的新终端窗口弹出。

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

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

chsh -s /bin/zsh

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

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

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

这里有另一种方法:

假设你用MacPorts安装了它,可以这样做:

sudo port install fish

您的shell将位于/opt/local/bin/fish。

你需要告诉OS X这是一个有效的shell。为此,将此路径添加到/etc/shell文件的末尾。

一旦你完成了这些,你可以通过系统首选项→帐户来更改shell。单击Lock以允许更改。右键单击该帐户,并选择“高级选项…”。在“Login shell”字段中,将路径添加到Fish。

如果您在使用其他方法时遇到问题,下面的方法可以在macOS v10.14 (Mojave)上工作,但通常应该可以工作。

which fish

将输出路径添加到系统首选项→用户和组→右键单击用户,高级选项。将结果粘贴到“Login shell:”字段中。