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

其他回答

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

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

chsh -s /bin/zsh

正如Lorin在手册中所描述的,如果操作系统不知道shell,您必须将其添加到其已知列表:/etc/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

1. Sudo nano /etc/shell

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

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

这些适用于macOS v10.12.5 (Sierra) (16F73),也可能适用于其他一些最新和即将推出的macOS版本。

CHSH不足以改变默认shell。确保你按Command +,当你的终端是打开的,并改变' shell open with'选项为'Default login shell '。 如果是Bash,请确保执行echo $BASH_VERSION以确认您正在运行预期的Bash版本。Bash—version没有提供正确的信息。

从终端:

将Fish添加到/etc/shell,这将需要一个管理密码: Sudo echo /usr/local/bin/fish >> /etc/shell 使用chsh将Fish设置为默认shell: CHSH -s /usr/local/bin/fish


从系统首选项:

用户和组→按下当前用户→高级选项… 修改Login shell为/usr/local/bin/fish 按OK,退出并再次登录