Linux中國

Xonsh Shell:在 Linux 終端結合 Bash Shell 和 Python 的最佳特性

最受歡迎的 shell 是什麼?我猜你會回答 bash 或者 zsh,沒錯,的確如此。

UNIX 和 Linux 系統上有許多可用的 shell,包括 Bash、Ksh、Zsh、Fish 等等。

最近,我碰到了另外一個 shell,它結合了 Python 和 bash,還蠻特別的。

Xonsh shell,為喜愛 Python 的 Linux 用戶而打造

Xonsh 是一個使用 Python 編寫的跨平台 shell 語言和命令提示符。

它結合了 Python 和 Bash shell,因此你可以在這個 shell 中直接運行 Python 命令(語句)。你甚至可以把 Python 命令和 shell 命令混合起來使用。

聽起來不錯吧?如果你是一個 Python 程序員的話,你應該會更加興奮。

在 Linux 上安裝 Xonsh shell

有多種方式可以在 Linux 系統上安裝 Xonsh shell。

你可以使用軟體包管理器安裝它(主要的 Linux 發行版的倉庫中都有 Xonsh shell)。

在 Ubuntu 和 Debian 上,你可以嘗試運行:

sudo apt install xonsh

因為它本質上是一個 Python 應用,所以你總是可以使用 Pip 來安裝(如果你的系統已經安裝了的話)。或者,你也可以使用 Conda 來安裝 Xonsh。同時,它還提供了 AppImage 格式和 Docker 鏡像。

你可以自由選擇你喜歡的安裝方式。

Xonsh shell 初體驗

如果你不熟悉 Linux 的「多 shell」概念和終端的相關知識,我推薦你閱讀 我寫的一篇終端入門的文章。這篇文章會幫助 Linux 新手弄清楚很多東西。

我在這裡簡單介紹一下。你的終端運行著一個默認的 shell(通常是 bash shell)。如果你在系統上安裝了其他的 shell,你可以 輕鬆地切換這些 shell

要進入 Xonsh shell,只需運行一條命令:

xonsh

它會建議你運行一個設置嚮導,然後創建一個 Xonsh shell 的自定義 rc 配置文件。這是可選的,你也可以晚些時候再做。

一旦你開始使用它,你就立刻會感覺到一些不同。

當你開始輸入一條命令時,Xonsh 會自動建議歷史記錄中的最後一條匹配命令。你可以按下右箭頭鍵確認使用這條自動建議的命令。你也可以按下上、下箭頭鍵來選擇歷史記錄中的其他匹配命令。

Xonsh shell automatically suggests last matching command from the history as you type

不僅如此,它還支持互動式的 Tab 補全。當你開始輸入命令,並按下 tab 鍵,它會顯示一個類似於下拉式的互動式菜單。你可以在這個菜單中選擇可用的命令。

Tab completion in Xonsh shell

你可以混合使用 Python 和 bash 命令,並且直接在 shell 中運行它們。

如果你對 終端定製 感興趣,你可以花點時間和精力,根據自己的喜好來定製 Tab 補全、按鍵綁定和顏色樣式。

它同時擁有一個叫做 Xontrib 的用戶自定義插件系統,你可以使用這些插件來擴展 Xonsh shell 的功能。

如果你是一個終端愛好者,並渴望學習更多終端知識,你可以瀏覽它的 豐富的文檔系統

最後

大多數用戶堅持使用默認的 Bash shell,這很正常。有一些開發者和系統管理員會選擇使用 Zsh,因為它有很多附加特性。而 Xonsh 完全聚焦在 Python 上,對於 Python 使用者來說,它或許具有吸引力。對於其餘的人來說,Bash 已經足夠好了。

你使用過 Xonsh 或者其他的 shell 嗎?你用它來代替 Bash 的原因是什麼呢?歡迎在評論區留言。

via: https://itsfoss.com/xonsh-shell/

作者:Abhishek Prakash 選題:lujun9972 譯者:lkxed 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國