3

我在全新的亚马逊 EC2 实例上使用该命令安装了 c shell sudo yum install tcsh,但我不确定它是否真的有效,因为该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]# 
4

2 回答 2

1

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

sudo yum install util-linux-user

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

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

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

于 2021-07-09T13:13:16.497 回答
0

这对我有用:

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

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

于 2018-04-11T16:48:48.003 回答