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


当前回答

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

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

其他回答

1. Sudo nano /etc/shell

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

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

输入fish检查是否正确安装,如果安装正确,输入exit 键入哪条鱼,复制路径。 输入sudo sh -c 'echo <your-fish-path-here> >> /etc/shell ' 重新启动终端 输入CHSH -s <your-fish-path-here> 重新启动终端 现在应该可以了。

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

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

chsh -s /bin/zsh

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

使用dscl:

heimdall:~ leeg$ dscl
Entering interactive mode... (type "help" for commands)
 > cd /Local/Default/Users/
/Local/Default/Users > read <<YOUR_USER>>
[...]
UserShell: /bin/bash
/Local/Default/Users >

只需更改该值(使用dscl中的write命令)。

这里有另一种方法:

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

sudo port install fish

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

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

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