Linux命令之 chsh -- 用来更换登录系统时使用的shell

命令简介

chsh 命令用来更换登录系统时使用的shell。若不指定任何参数与用户名称,则 chsh 会以应答的方式进行设置。
chsh 用于更改登录 shell;如果命令行上没有指定具体的 shell,chsh 将提示输入一个shell。

chsh 命令本身并不复杂,它的功能比较单一,就是负责查看(显示)和修改我们系统的登录 Shell;想修改登录 Shell,首先要知道我们的系统安装了哪些 Shell。

chsh 仅用于更改本地条目;对非本地条目使用 ypchsh、lchsh 或任何其他实现。

常用选项

选项说明
-s<shell 名称>或–shell<shell 名称>更改系统预设的shell环境
-l或–list-shells列出目前系统可用的shell清单
-u或–help在线帮助
-v或-version显示版本信息

参考示例

查看系统安装了哪些shell的两种方法

[rocrocket@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

或者

[rocrocket@localhost ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

其实 chsh -l 也是来查看这个文件。

查看当前正在使用的 shell

[rocrocket@localhost ~]$ echo $SHELL
/bin/bash

注意 SHELL 一定要是大写。可以看到,目前使用的 shell 是 /bin/bash

修改当前登录用户的shell

[rocrocket@localhost ~]$ chsh -s /bin/zsh
Changing shell for rocrocket.
Password:
Shell changed.
[rocrocket@localhost ~]$

修改 shell 类型后,你会发现你现在执行 echo $SHELL 后仍然输出为 /bin/bash,这是因为你需要重启你的 shell 才完全投入到 zsh 怀抱中去。chsh -s 其实修改的就是 /etc/passwd 文件里和你的用户名相对应的那一行。现在来查看下:

[rocrocket@localhost ~]$ cat /etc/passwd|grep ^rocrocket
rocrocket:x:500:500:rocrocket,China:/rocrocket/PSB/home:/bin/zsh

你可以发现输出内容的最后部分已经变成了 /bin/zsh 了,下次重启的时候,linux就会读取这一命令来启动shell了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值