如何在 Linux 中更改 Shell
我們大家都知道在 Linux 中有多個 shell 可用,其中 bash 是幾乎所有 Linux 發(fā)行版中默認的 shell,除此以外,還有一些其他比較流行的 shell,比如:
- ksh
- zsh
- fish
- csh
- dash
一些 shell 提供了一些很友好的功能,以 fish shell 為例,它可以對你鍵入的命令給予提示,這對于經(jīng)常記不住 Linux 終端快捷方式的情況下,使用起來會非常方便。
怎樣查看系統(tǒng)默認的 shell
要查看 Linux 系統(tǒng)中默認的 shell,可以檢查 shell 環(huán)境變量。比如,如果 shell 為 bash,環(huán)境變量會有如下顯示:
如何查看當(dāng)前正在使用的 shell
目前,沒有方法可以百分之百的告訴你正在使用的是哪個 shell。但是我們可以嘗試使用命令 echo $0,它會顯示如下輸出:
或者使用 ps -p $$ 來檢查進程,如下所示:
如何查看 Linux 系統(tǒng)中所有可用的 shell
Linux 系統(tǒng)上所有可用的 shell 都列在 /etc/shells 文件中,我們可以使用 cat 命令或者 less 命令來查看該文件的內(nèi)容:
如何切換 shell
如果你想要切換到另外一個 shell,只需要鍵入其名稱,就可以登錄到新的 shell。比如,如果你安裝了 zsh 并想要使用它,只需要執(zhí)行命令:
切換到新的 shell 后,如果想要退出的話,可以鍵入 exit,這樣就可以返回到上一個 shell 中。
如何永久的更改 Linux 中的默認 shell
假如你非常喜歡 fish shell,希望將其設(shè)置為默認的 shell,這樣你以后在系統(tǒng)中每次打開終端或者 ssh 時,都會使用 fish shell,而不是默認的 bash shell。
要達到這個目的,我們可以使用 chsh 命令來更改默認 shell。具體的使用方式是在 chsh 命令后使用 -s 選項來設(shè)置 /etc/shells 文件中列出的 shell 名稱,如下:
執(zhí)行上述命令后,需要重啟系統(tǒng)。
注意,上述命令中 -s 選項后面跟的是在 /etc/shells 文件中列明的 shell 的完整路徑。如果我使用 chsh -s fish,系統(tǒng)會報錯:“chsh: fish is an invalid shell”。
以上就是本次分享全部內(nèi)容,歡迎討論。