我昨天安装了 Debian Stretch。我安装了fish shell。我通过以下方式将默认 shell 更改为 Fish
su chsh -s 'which fish'
然后再次输入这个命令
su chsh -s `which fish`
现在,在我重新启动电脑后,我在使用“su”时遇到以下错误
sathish@localhost ~> su
Password:
Cannot execute which fish: No such file or directory
答案1
(因为我无法发表评论。所以在这里发帖)
- 将用户更改为su
$ su
(然后输入密码)
- 类型
# chsh [username]
在你的情况下:
# chsh root
- 输入登录shell
/usr/bin/fish
- 就是这样。注销并重新登录。应该管用
答案2
来自评论:很明显,您想要将用户的登录 shell 更改root
为fish
.做:
sudo chsh -s "$(which fish)" root
或者简单地:
sudo chsh -s "$(which fish)"
如果不存在,您可能必须输入绝对路径fish
(通常在安装软件包时由维护者脚本完成)。/etc/shells
postinst
如果你还没有sudo
安装,恕我直言,你有更大的问题需要解决。无论如何,这是使用以下方法来执行此操作的方法su
:
su root -c 'chsh -s "$(which fish)"'
在这种情况下,您需要root
的密码(像往常一样)。