對 Bash 感到厭倦?教你如何在 Linux 中更改默認 Shell
Bash 並不是唯一可供選擇的 Shell。還存在數量眾多的 Shell,它們都有一些獨特的特性,例如 Zsh、Fish、Ksh 和 Xonsh。
在你的系統中,你可以同時安裝多個 Shell。
要想將另一個 Shell 設為默認值,你可以按照以下方式使用 chsh 命令:
chsh -s path_to_binary_of_shell
如需找到 Shell 的二進位路徑,你可以查看 /etc/shells
文件的內容。另外,你也可使用以下自動獲取所需 Shell 二進位路徑的命令:
chsh -s $(which new_shell)
接下來,讓我們詳細了解一下如何確定並更改 Shell。
我現在用的是哪個 Shell?
有很多方法可以幫你找出當前使用的是哪個 Shell,雖然專家可能會辯論這些方法的準確度。
最常用的,也是最簡單的方式是:
echo $0
$0 是一個特別的 Shell 變數,這可以獲取你正在使用的 Shell 或 Shell 腳本的名稱(如果你在腳本中使用了它)。
你還可以使用下面的命令檢查進程:
ps -p $
其中,$
代表的是當前進程 / Shell 的進程 ID。
如何安裝另一個 Shell?
和其他軟體包一樣,大部分知名 Shell,例如 Fish 和 Zsh,都可以直接從你的發行版軟體倉庫中下載安裝。新的,相對小眾的 Shell,例如 Xonsh,可能就需要不同的安裝步驟了。你可以在它們的項目網頁上找到具體的安裝指南。
比如,你想 在 Ubuntu 上安裝 Zsh,那麼可以使用以下命令:
sudo apt install zsh
如何更改當前的 Shell?
假設你已經安裝了另一個 Shell,那麼我們來看一看如何切換過去。
實際上,你只需要輸入新 Shell 的名稱即可。比方說,你想切換到 Zsh,那就輸入:
zsh
若要退出當前的 Shell,只需輸入 exit
即可,你會回到你的默認 Shell。
如何查看默認的 Shell 是哪個?
有一個 SHELL
的環境變數,它可以告訴你當前賬戶的默認 Shell 是哪個:
echo $SHELL
舉個例子,我切換到了 Zsh。此時,當前 Shell 顯示的信息是 zsh
,而默認 Shell 依然顯示為 bash
:
這說明更改 Shell 並不會改變默認的 Shell。也就是說,下次你再次登錄到該終端或系統,你還會返回到舊的默認 Shell,而不是新的 Shell。
如何知道系統中可用的 Shell 有哪些?
你可以通過查看 /etc/shells
文件,來了解系統中具有哪些可用的 Shell:
cat /etc/shells
下面就是我當前系統中所有可用的 Shell:
如何更改默認的 Shell?
/etc/shells
文件的內容顯示了所有可用 Shell 的二進位文件位置。你需要將它與 chsh 命令一起使用。
假設我想讓 Zsh 成為默認的 Shell,我可以輸入:
chsh -s /usr/bin/zsh
更改後,你需要重新登入才能看到變化。
請注意,以上操作只會更改當前用戶的默認 Shell。如果你是管理員,並且想更改其他用戶的默認 Shell,那麼你可以使用以下命令:
sudo chsh -s /usr/bin/zsh other_username
結論
Linux 的一大特色就是,用戶可以自主選擇。你完全可以根據自己的需要進行更改。這就是另一個例子,你不必局限於發行版提供的默認 Shell 的選擇。你很歡迎自選一款 Shell,讓你的工作變得更順手。最後,祝你使用愉快 ?
(題圖:DA/cf9b865d-2b98-4ada-88df-de1d1839aba1)
via: https://itsfoss.com/linux-change-default-shell/
作者:Abhishek Prakash 選題:lujun9972 譯者:ChatGPT 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive