我不喜欢每次启动终端时都重新输入鱼。我希望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

其他回答

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

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

要更改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

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

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

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

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

1. Sudo nano /etc/shell

2. 将/usr/local/bin/fish添加到shell列表中

3.CHSH -s /usr/local/bin/fish

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

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