为什么我无法使用chsh命令更改shell?

Modified on: Sat, 30 Jun 2018 04:31:30 +0800

我学到了一个新命令,至少我认为,因为这个命令:chsh,行为不像描述的那样。

它的描述是这样的:

  1. cat /etc/shells知道安装了哪些shell,因此您可以在其中进行选择。
  2. 执行echo $SHELL以了解您正在使用的shell。
  3. 选择其中一个shell并输入chsh -s /path/to/shell
  4. 输入密码并使用echo $SHELL验证您是否在新shell中。
  5. 醇>

    我已经这样做了,输入密码时没有收到任何错误消息,但我仍然在同一个shell中。

    % echo $SHELL
    /bin/bash
    % cat /etc/shells
    # /etc/shells: valid login shells
    /bin/sh
    /bin/dash
    /bin/bash
    /bin/rbash
    % chsh -s /bin/sh
    Password: 
    % echo $SHELL
    /bin/bash
    

最佳答案

退出并重新登录。

chsh命令将更新/etc/passwd文件,但它不会更改当前 shell,也不会更改 $ SHELL 变量(它无法做到这一点)。这就是您需要再次登录的原因;您必须启动新的登录会话才能使更改生效。

作者:,Kusalananda

相关问答

添加新评论