Linux 无法将shell从bash更改为fish

Linux 无法将shell从bash更改为fish,linux,bash,shell,terminal,fish,Linux,Bash,Shell,Terminal,Fish,我刚刚下载并安装了fish,我想将其用作默认shell,但由于某些原因,我无法将默认shell从bash更改为fish。 我尝试了以下方法: sudo chsh-s/usr/local/bin/fish sudo chsh-s/usr/local/bin/fish用户名 编辑了/etc/shells以包括/usr/local/bin/fish 编辑的/etc/passwd 我唯一能想到的就是编辑我的.bashrc,然后开始fish,但这显然只是一个小技巧 我正在运行64位Ubuntu 12.

我刚刚下载并安装了fish,我想将其用作默认shell,但由于某些原因,我无法将默认shell从bash更改为fish。 我尝试了以下方法:

  • sudo chsh-s/usr/local/bin/fish
  • sudo chsh-s/usr/local/bin/fish用户名
  • 编辑了
    /etc/shells
    以包括
    /usr/local/bin/fish
  • 编辑的
    /etc/passwd
我唯一能想到的就是编辑我的
.bashrc
,然后开始
fish
,但这显然只是一个小技巧


我正在运行64位Ubuntu 12.10,我使用Terminator作为终端。

不要将shell更改为
fish
。只需使用
fish
作为默认shell启动终端即可
fish
bash
不兼容,就像
zsh
一样,因此您可能会遇到问题。使用
sudo
您可能会更改root的默认shell。如果更改成功,您应该恢复该更改(但如果您的列表表明您当时尚未向
/etc/shells
添加任何内容,则更改不会成功)。正常运行的
chsh
不需要root访问;每个用户都可以控制自己喜欢的shell,就像他们各自的密码一样。