使用chsh命令可修改用户默认Shell,如chsh -s /bin/zsh切换当前用户Shell,sudo chsh -s /bin/bash username为其他用户设置;2. 也可通过sudo vipw编辑/etc/passwd文件,直接修改对应用户的Shell路径;3. 修改前需确认目标Shell已列在/etc/shells中,若无则需安装并添加路径,否则可能导致登录失败。

如果您在使用LINUX系统时希望更改某个用户的默认Shell,可能是因为您需要使用特定的命令行环境或脚本兼容性要求。更改默认Shell可以让用户登录时自动进入指定的Shell环境。
本文运行环境:Dell XPS 13,Ubuntu 22.04
一、使用chsh命令修改默认Shell
chsh命令是Linux系统中用于更改用户登录Shell的标准工具,它会更新/etc/passwd文件中对应用户的Shell字段。
1、打开终端,输入 chsh -s /bin/zsh 命令来将当前用户的默认Shell更改为zsh。
2、若要为其他用户修改,需使用sudo权限执行,例如:sudo chsh -s /bin/bash username,其中username为目标用户名。
3、修改完成后,重新登录该用户即可生效。
二、手动编辑/etc/passwd文件
直接编辑系统用户配置文件可以强制更改任意用户的默认Shell,适用于无法使用chsh的情况。
1、在终端中运行 sudo vipw 命令安全地打开/etc/passwd文件进行编辑。
图改改
在线修改图片文字
455 查看详情
2、找到目标用户所在的行,格式通常为 username:x:UID:GID:GECOS:home_dir:current_shell。
3、将该行末尾的当前Shell路径(如/bin/sh)修改为您期望的Shell路径,例如 /usr/bin/fish。
4、保存并退出编辑器,更改立即生效,下次登录即使用新Shell。
三、确认可用Shell列表
系统只允许将默认Shell设置为列在/etc/shells文件中的Shell程序,否则可能导致登录异常。
1、查看系统支持的合法Shell列表,执行命令:cat /etc/shells。
2、确保您要设置的Shell路径(如/usr/bin/zsh)存在于该文件中。
3、如果不存在,需先安装对应Shell并将其路径添加到/etc/shells中,例如使用 echo “/usr/bin/fish” | sudo tee -a /etc/shells。
以上就是LINUX如何修改默认的shell_LINUX切换用户默认Shell环境指南的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/232435.html
微信扫一扫
支付宝扫一扫