我想現在應該有很多人都已經使用zsh作為默認的Shell了,尤其是搭配 oh-my-zsh 之后,真是好用得飛起。
一般,我們在切換系統默認的Shell的時候,都會使用 chsh -s /bin/zsh
命令來進行修改。今天我遇到一個問題,在某台老服務器上,使用這個命令無法修改,具體原因未知。始終提示——chsh: Shell not changed.
無奈,只能更換另外的切換方式了,改用 usermod -s /bin/zsh fungleo
這個命令來進行的修改,成功了。這個命令里面的 fungleo
是我的系統用戶名,如果看官在執行這條命令的時候,切記換成自己的用戶名。用這個命令的缺點是,只能更改單個用戶的,不能修改所有用戶的。不過一般來說,用戶也不會太多,所以是夠用的。
有點小坑,記錄一下。
今天遇到在 windows 下的子 linux 系統中切換 zsh 不成功,找到的解決方法是在 .bashrc 文件中添加如下代碼
if [ -t 1 ]; then
exec zsh
fi
即可在啟動時是默認的 zsh 終端了。神奇的windows。。。
2020年05月14日 補充
今天試了一下 centos 8 發現,在系統中沒有自帶 chsh
命令工具,提示 chsh: command not found
。簡單查了一下,是因為系統沒有自帶 util-linux-user
工具包導致的。
那么原因找到了,解決就很簡單了,只要安裝它就可以了。我們可以使用 yum
包管理工具進行安裝。
yum install util-linux-user
如果 yum
沒有找到這個包(我是安裝了擴展源的,我不清楚這個包是在擴展源還是在原有的源里就有。)可以使用 dnf
包管理工具來進行安裝。命令一致:
dnf install util-linux-user
dnf
是取代 yum
的包管理器,兩者的使用基本是一致的。兩者的關系可以看這篇文章 紅帽即將廢棄yum,繼任者是誰,它又有何優勢 或者搜索 dnf yum
來找相關資料。