Linux命令 chsh - 用來(lái)更換登錄系統(tǒng)時(shí)使用的shell

2021-10-27 10:40 更新

chsh

用來(lái)更換登錄系統(tǒng)時(shí)使用的shell

補(bǔ)充說(shuō)明

chsh命令 用來(lái)更換登錄系統(tǒng)時(shí)使用的shell。若不指定任何參數(shù)與用戶(hù)名稱(chēng),則chsh會(huì)以應(yīng)答的方式進(jìn)行設(shè)置。

語(yǔ)法

chsh(選項(xiàng))(參數(shù))

選項(xiàng)

-s<shell 名稱(chēng)>或--shell<shell 名稱(chēng)>:更改系統(tǒng)預(yù)設(shè)的shell環(huán)境。;
-l或--list-shells:列出目前系統(tǒng)可用的shell清單;
-u或--help:在線(xiàn)幫助;
-v或-version:顯示版本信息。

參數(shù)

用戶(hù)名:要改變默認(rèn)shell的用戶(hù)。

實(shí)例

查看系統(tǒng)安裝了哪些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

其實(shí)chsh -l也是來(lái)查看這個(gè)文件。

查看當(dāng)前正在使用的shell:

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

注意SHELL一定要是大寫(xiě)??梢钥吹剑壳笆褂玫膕hell是/bin/bash

把我的shell改成zsh:

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

使用chsh加選項(xiàng)-s就可以修改登錄的shell了!你會(huì)發(fā)現(xiàn)你現(xiàn)在執(zhí)行echo $SHELL后仍然輸出為/bin/bash,這是因?yàn)槟阈枰貑⒛愕膕hell才完全投入到zsh懷抱中去。chsh -s其實(shí)修改的就是/etc/passwd文件里和你的用戶(hù)名相對(duì)應(yīng)的那一行?,F(xiàn)在來(lái)查看下:

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

你可以發(fā)現(xiàn)輸出內(nèi)容的最后部分已經(jīng)變成了/bin/zsh了,下次重啟的時(shí)候,linux就會(huì)讀取這一命令來(lái)啟動(dòng)shell了!

把shell修改回/bin/bash:

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


以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)