我使用 zsh 作为我的普通用户,但是当我使用 root 时,我的 shell 是 Bash。我如何也将 Zsh 用于 root?

Gy0*_*y0m 1 bash zsh user-management

我的原始问题:

当我运行时,sudo su我的zsh提示更改回 Bash。如何让 Zsh 成为 root 用户的默认 shell?

我对重复的回答:

关于何时将帖子视为重复的问题正在辩论:是否应该仅因为答案的有用性而将问题作为重复关闭?

我引用第一个答案的第一段:

我看到的大多数关于此的意见都说问题是重复的,而不是答案。因此,只有在问题相同时才应将问题作为重复关闭,而不是因为一个问题的答案也是另一个问题的答案。

然后是后面的第一个词:

然而,我不同意。

您可以随意查看帖子以阅读该用户的论点。

我个人,作为“大多数意见”认为问题是重复的,没有答案,因为我从来没有在帖子中找到我的特定问题的答案:如何将鱼设置为默认外壳?

我引用的用户是将我的帖子标记为重复的用户之一,真是太巧了。

我试图为自己辩护,但可能是用不好的方式。因此,请停止对我的帖子进行投票,并请理解,也许有些人只是想将已经默认的 shell 扩展到所有用户,而其他人则希望将特定的 shell 设为默认值。这不是相同的搜索,我认为这可以帮助社区。

mbe*_*yss 8

您必须为您的 root 帐户设置 shell

usermod -s /bin/zsh root
Run Code Online (Sandbox Code Playgroud)

会做这份工作


这会更改/etc/passwd文件中的条目。他们看起来…… 像这样

root:x:0:0:root:/root:/bin/bash
Run Code Online (Sandbox Code Playgroud)

最后一个条目是登录 shell。您也可以手动编辑文件。


小心设置正确。usermod不会检查(并且您将无法以 root 身份登录):

usermod -s /bin/blargh root
sudo -i
sudo: /bin/blargh: command not found
Run Code Online (Sandbox Code Playgroud)

有关节省方式,请参阅@PerlDuck 的答案