【问题标题】:how to change shell on amazon EC2 linux instance如何在亚马逊 EC2 linux 实例上更改 shell
【发布时间】:2021-07-09 21:13:16
【问题描述】:

我在我全新的亚马逊 EC2 实例上使用 sudo yum install tcsh 命令安装了 c shell,但我不确定它是否真的有效,因为 echo $SHELL 命令总是返回 /bin/bash。我不确定我做错了什么。

[ec2-user]$ which csh
/bin/csh
[ec2-user]$ sudo csh
[root]# echo $SHELL
/bin/bash
[root]# sudo chsh
Changing shell for root.
New shell [/bin/bash]: /bin/csh
Shell changed.
[root]# echo $SHELL
/bin/bash
[root]# 

【问题讨论】:

    标签: linux amazon-ec2


    【解决方案1】:

    Amazon Linux 2 未安装 chsh。所以在运行chsh之前,你必须先安装它。

    sudo yum install util-linux-user

    如果您想更改您当前登录帐户的 shell(例如,ec2-user 或您登录的其他非 root 用户),那么您可以交互运行 chsh。没有必要使用sudo(正如另一个答案所说)。

    要为自己以外的人(例如 root、其他用户)更改 shell,您需要使用 sudo

    也无需重新启动。更改将在您下次登录时生效。为了安全起见,您可能希望从另一个窗口登录(即,在一个窗口中保持登录状态,同时在另一个窗口中测试 shell 更改),以防您输入错误而无法重新登录。

    【讨论】:

      【解决方案2】:

      这对我有用:

      sudo chsh -s $(which zsh) $(whoami)
      

      我想从 bash 更改为 zsh,但您可以改用 which csh。之后您可能需要重新启动实例。

      【讨论】:

      • 这个命令运行 4 个程序,而 1 可以。 which 命令会告诉您 zsh 命令在哪里,但如果这不是 /etc/shells 中的内容,该命令将失败。无需使用sudo 来更改您自己的shell。当您只需键入 $USER 并从环境中获取它时,无需运行程序 whoami。他们应该只输入chsh 并按回车键,但当然是在他们安装chsh 之后,它没有安装在 Amazon Linux 2 上。
      猜你喜欢
      • 1970-01-01
      • 2010-12-28
      • 2015-09-18
      • 2016-12-07
      • 2014-10-08
      • 2014-03-30
      • 2013-10-19
      • 2020-05-12
      • 1970-01-01
      相关资源
      最近更新 更多