首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >修改 Linux 默认 Shell 用 chsh -s /bin/zsh 命令不生效,提示 chsh: Shell not changed. 或 chsh: command not found 怎么办

修改 Linux 默认 Shell 用 chsh -s /bin/zsh 命令不生效,提示 chsh: Shell not changed. 或 chsh: command not found 怎么办

作者头像
FungLeo
发布2022-05-05 21:53:18
发布2022-05-05 21:53:18
6.4K0
举报

我想现在应该有很多人都已经使用zsh作为默认的Shell了,尤其是搭配 oh-my-zsh 之后,真是好用得飞起。 一般,我们在切换系统默认的Shell的时候,都会使用 chsh -s /bin/zsh 命令来进行修改。今天我遇到一个问题,在某台老服务器上,使用这个命令无法修改,具体原因未知。始终提示——chsh: Shell not changed. 无奈,只能更换另外的切换方式了,改用 usermod -s /bin/zsh fungleo 这个命令来进行的修改,成功了。这个命令里面的 fungleo 是我的系统用户名,如果看官在执行这条命令的时候,切记换成自己的用户名。用这个命令的缺点是,只能更改单个用户的,不能修改所有用户的。不过一般来说,用户也不会太多,所以是够用的。 有点小坑,记录一下。

今天遇到在 windows 下的子 linux 系统中切换 zsh 不成功,找到的解决方法是在 .bashrc 文件中添加如下代码

代码语言:javascript
复制
if [ -t 1 ]; then
    exec zsh
fi

即可在启动时是默认的 zsh 终端了。神奇的windows。。。

2020年05月14日 补充 今天试了一下 centos 8 发现,在系统中没有自带 chsh 命令工具,提示 chsh: command not found。简单查了一下,是因为系统没有自带 util-linux-user 工具包导致的。 那么原因找到了,解决就很简单了,只要安装它就可以了。我们可以使用 yum 包管理工具进行安装。

代码语言:javascript
复制
yum install util-linux-user

如果 yum 没有找到这个包(我是安装了扩展源的,我不清楚这个包是在扩展源还是在原有的源里就有。)可以使用 dnf 包管理工具来进行安装。命令一致:

代码语言:javascript
复制
dnf install util-linux-user

dnf 是取代 yum 的包管理器,两者的使用基本是一致的。两者的关系可以看这篇文章 红帽即将废弃yum,继任者是谁,它又有何优势 或者搜索 dnf yum 来找相关资料。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档