在日常工作處,我們寫腳本的時候,經(jīng)常會有這樣的煩惱:
1、寫shell腳本的時候,比如for循環(huán),處理json數(shù)據(jù),處理算術(shù)運(yùn)算等等總是非常繁瑣,如果此時能用python語法和函數(shù)的話就非常方便了。
2、寫python腳本時候,比如需要執(zhí)行系統(tǒng)命令、或者結(jié)果需要過濾、分析的時候,如果此時能直接使用grep、awk等命令那就非常方便了。
別著急,這件事有人幫我們做了,今天阿湯博客要推薦的這款開源工具,就已經(jīng)為我們解決了以上的煩惱。
它的GitHub Star數(shù)接近5K,它就是:Xonsh。
GitHub地址:https://github.com/xonsh/xonsh
官網(wǎng)地址:https://xon.sh/
下面是官網(wǎng)對xonsh的介紹(已經(jīng)通過翻譯軟件翻譯):
XONSH是一個 Python 驅(qū)動的 shell
Xonsh 是一種基于 Python 的跨平臺、面向 Unix 的 shell 語言和命令提示符。該語言是 Python 3.6+ 的超集,帶有您習(xí)慣于從 Bash 和 IPython 使用的其他 shell 原語。它適用于所有主要系統(tǒng),包括 Linux、OSX 和 Windows。Xonsh 適用于專家和新手的日常使用。
一、Xonsh能做什么?
1、Xonsh 可以直接當(dāng) Shell 命令行使用。
cd /home cat /etc/passwd | grep root ls -la
2、Xonsh 可以直接按 Python 的語法使用。
2 + 2 import json j = json.loads('{"Hello": "world!", "Answer": 42}') print(j['Answer'])
3、Xonsh 可以在 Shell 中使用 Python 語法。
var = 'he' + 'llo' echo @(var) > /tmp/@(var) echo @(i for i in range(42))
4、Xonsh 可以在Python中直接使用Shell命令和語法。
len($(curl -L https://xon.sh)) for filename in `.*`: print(filename) du -sh @(filename)
二、下面是Xonsh和其他shell工具的功能比較:
三、Xonsh安裝。
yum install -y python3 pip3 install xonsh
更多安裝方法,參考官方文檔。
四、Xonsh實(shí)際使用測試。
經(jīng)過一番測試和使用,的確很強(qiáng)大,非常方便。Python和shell終于結(jié)合在一起,成為相親相愛的一家人了!