如何在Shell腳本中使用Python語法和函數

2021年6月4日16:23:11 發表評論 3,259 ℃

在日常工作處,我們寫腳本的時候,經常會有這樣的煩惱:

1、寫shell腳本的時候,比如for循環,處理json數據,處理算術運算等等總是非常繁瑣,如果此時能用python語法和函數的話就非常方便了。

2、寫python腳本時候,比如需要執行系統命令、或者結果需要過濾、分析的時候,如果此時能直接使用grep、awk等命令那就非常方便了。

別著急,這件事有人幫我們做了,今天阿湯博客要推薦的這款開源工具,就已經為我們解決了以上的煩惱。

它的GitHub Star數接近5K,它就是:Xonsh。

GitHub地址:https://github.com/xonsh/xonsh

官網地址:https://xon.sh/

下面是官網對xonsh的介紹(已經通過翻譯軟件翻譯):

XONSH是一個 Python 驅動的 shell

Xonsh 是一種基于 Python 的跨平臺、面向 Unix 的 shell 語言和命令提示符。該語言是 Python 3.6+ 的超集,帶有您習慣于從 Bash 和 IPython 使用的其他 shell 原語。它適用于所有主要系統,包括 Linux、OSX 和 Windows。Xonsh 適用于專家和新手的日常使用。

一、Xonsh能做什么?

1、Xonsh 可以直接當 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工具的功能比較

如何在Shell腳本中使用Python語法和函數

三、Xonsh安裝。

yum install -y python3
pip3 install xonsh

更多安裝方法,參考官方文檔。

四、Xonsh實際使用測試。

如何在Shell腳本中使用Python語法和函數

經過一番測試和使用,的確很強大,非常方便。Python和shell終于結合在一起,成為相親相愛的一家人了!

【騰訊云】云服務器、云數據庫、COS、CDN、短信等云產品特惠熱賣中

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: