如何在Shell腳本中使用Python語法和函數(shù)

2021年6月4日16:23:11 發(fā)表評論 3,158 ℃

在日常工作處,我們寫腳本的時候,經(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工具的功能比較

如何在Shell腳本中使用Python語法和函數(shù)

三、Xonsh安裝。

yum install -y python3
pip3 install xonsh

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

四、Xonsh實(shí)際使用測試。

如何在Shell腳本中使用Python語法和函數(shù)

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

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

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