當前位置:
首頁 > 知識 > 把Python當作Shell使用:Xonsh

把Python當作Shell使用:Xonsh

把Python當作Shell使用:Xonsh

一直都很好奇,Python可否作為Shell使用?

把Python當作Shell使用:Xonsh

Shell語言對於互動式應用來講很有用。但是,它通常需要做出不能同時作為編程語言使用的取捨。有時候,在寫Shell腳本時,這卻是必須的。

如果你的Shell可以理解一個更具擴展性的編程語言,情況會不會不一樣呢?比如說,Python?

讓我們進入Xonsh。

安裝Xonsh和創建一個虛擬環境一樣簡單。運行pip install xonsh[ptk,linux],然後再運行xonsh。

首先,你可能奇怪為什麼你的Python Shell有一個奇怪的提示符:

把Python當作Shell使用:Xonsh

很好的計算器!

把Python當作Shell使用:Xonsh

我們也可以調用其它函數:

把Python當作Shell使用:Xonsh

但是,我們仍然可以把他當作一個常規Shell來使用:

把Python當作Shell使用:Xonsh

我們甚至可以混在一起使用:

把Python當作Shell使用:Xonsh

通過使用提示工具包程序,Xonsh可以支持Shell命令和Python表達式的自動完成功能。自動完成功能可以提供提示,顯示可能的完整命令和下拉提示。

它也支持環境訪問,使用簡單卻強大的的探索功能把Python類型應用到環境變數上。默認是「字元串」格式,但是比如路徑變數會自動是list對象。

把Python當作Shell使用:Xonsh

Xonsh既可以接受Shell類型或Python類型的布爾快捷操作符。

把Python當作Shell使用:Xonsh

這意味著Python關鍵字會被解釋。如果我們想輸出著名的蘇斯博士的書的名字,我們需要把關鍵字用引號引用起來。

把Python當作Shell使用:Xonsh

如果我們不這樣做,結果就會很怪異。

把Python當作Shell使用:Xonsh

虛擬環境可能需要費點勁。常規虛擬環境取決於BASH類語法,可能不能工作。但是,Xonsh自帶了虛擬環境管理系統,叫做vox。

vox可以創建、進入和退出~/.virtualenvs環境。如果你用過virtualenvwrapper,它的虛擬環境便是這裡。

注意,當前進入的環境並不影響Xonsh。它不能從所在環境導入任何東西。

把Python當作Shell使用:Xonsh

第一行讓vox可用,是Xonsh的第三方擴展,叫做xontrib。xontrib管理程序會列出所有可用的xontribs以及他們的當前狀態(已安裝、已載入、或都沒有)。

寫一個xontrib是可行的,並可以上傳到pypi使其可用。但是,把它添加到xontrib索引中是個好的做法,可以讓Xonsh提前知道它。比如說,這可以讓配置引導程序提出建議。

如果你曾經有過「Python可以作為我的Shell嗎?」的疑問,那麼你只需要運行pip install xonsh來找到它。


英文原文:https://opensource.com/article/18/9/xonsh-bash-alternative
譯者:Ray

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python部落 的精彩文章:

Github皮膚:XP風格皮膚

TAG:Python部落 |