Linux命令大全/chsh切換shell
阿新 • • 發佈:2019-01-07
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.