1. 程式人生 > >Linux命令大全/chsh切換shell

Linux命令大全/chsh切換shell

http://man.linuxde.net/

chsh命令

使用者和工作組管理

文章頂部廣告

《Linux就該這麼學》是一本基於最新Linux系統編寫的入門必讀書籍,內容面向零基礎讀者,由淺入深漸進式教學,銷量保持國內第一,年銷售量預期超過10萬本。點此免費線上閱讀。

chsh命令用來更換登入系統時使用的shell。若不指定任何引數與使用者名稱稱,則chsh會以應答的方式進行設定。

語法

chsh(選項)(引數)

選項

-s<shell 名稱>或--shell<shell 名稱>:更改系統預設的shell環境。;
-l或--list-shells:列出目前系統可用的shell清單;
-u或--
help
:線上幫助; -v或-version:顯示版本資訊。

引數

使用者名稱:要改變預設shell的使用者。

例項

檢視系統安裝了哪些shell的兩種方法:

第一種:

[[email protected] ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

第二種:

[[email protected] ~]$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh

其實chsh -l也是來檢視這個檔案。

檢視當前正在使用的shell:

[[email protected]
~]$ echo $SHELL /bin/bash

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

把我的shell改成zsh:

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

使用chsh加選項-s就可以修改登入的shell了!你會發現你現在執行echo $SHELL後仍然輸出為/bin/bash,這是因為你需要重啟你的shell才完全投入到zsh懷抱中去。chsh -s

其實修改的就是/etc/passwd檔案裡和你的使用者名稱相對應的那一行。現在來檢視下:

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

你可以發現輸出內容的最後部分已經變成了/bin/zsh了,下次重啟的時候,linux就會讀取這一命令來啟動shell了!

把shell修改回/bin/bash:

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