当我使用“zsh”时,“echo $SHELL”返回“fish”

当我使用“zsh”时,“echo $SHELL”返回“fish”

我先安装fish,然后想测试一下,zsh所以我安装了它。实际上我正在使用zsh,它运行完美(目前):我可以切换主题、启用插件等...

但当我这样做时:

echo $SHELL

它应该回来/bin/zsh,而且令人惊讶的是它回来了/usr/bin/fish

我正在使用 Kubuntu 14.04。它没问题吗?还是我应该修复它?

答案1

SHELL/etc/passwd总是(如果没有手动设置的话)扩展到用户的登录 shell(在 中定义),不一定是当前正在使用的 shell 用户。

您可以使用以下方法进行交叉检查:

grep -Po '^username:.*:\K[^:]+$' /etc/passwd

替换username为您的真实用户名。

如果你想改变你的登录shell,修改/etc/passwd或者更好的使用chsh

chsh -s /path/to/shell username

相关内容