如何在Shell指令碼中嵌入Python指令碼

2021-10-04 04:01:40 字數 1286 閱讀 3484

原shell指令碼test.sh:

#!/bin/bash

function main(

)main "$@"

./test.sh t1 t2 t3執行結果:

username@computer:~$ ./test.sh t1 t2 t3 

t1 t2 t3

嵌入單行的python,比如切割個字串啥的

#!/bin/bash

function main(

)main "$@"

./test.sh t1,t2,t3執行結果:

username@computer:~$ ./test.sh t1,t2,t3 

t1,t2,t3

['t1', 't2', 't3']

其實就是直接呼叫python程式,程式的輸出就相當於返回值可以傳遞給變數,這裡直接賦值給result,獲取值用$()可以,用``也可以。看上去好像有點複雜,其實和:result=$(echo 123)是乙個道理,只不過把echo 123換成了一行python指令碼。如果只是讓python實現一些功能,不關心返回值的話,完全可以不『print』任何東西。

嵌入多行python:

#!/bin/bash

function getnum(

)function main(

)main "$@"

在兩行end之間,可以像平時寫大量的python**。

需要注意的是,縮排的地方手動用空格縮排,否則會有違法縮排的問題。

./test.sh 123,123,123執行結果:

username@computer:~$ ./test.sh 123,123,123

123,123,123

arg number : 3

掌握了這兩種寫法,就可以在pythonshell中反覆橫跳實現各種功能。頻繁呼叫系統命令用shell,複雜的功能邏輯直接用python搞定,比如什麼修改配置檔案啊之類的。在shell中做這些實在費勁。

不過這些應用場景也有限,通常我們還是建議分別寫在不同的檔案裡相互呼叫,除非一些特殊的場景需要盡可能寫在同乙個檔案中的話,可以參考上面的寫法。

如何在VC中嵌入IE

一 需要在你的程式中嵌入ie瀏覽器的視窗。有兩種實現方法,其一,新增chtmlview的視類 其二,新增ie瀏覽器的activex控制項。其實不管用什麼方法,除了函式名稱稍有區別外,它們最終都呼叫了微軟的iwebbrowser2的介面。二 方法和步驟 1.建立乙個對話窗形式的mfc應用程式,注意在導...

如何在型別中嵌入功能

主要有兩種方法來實現在型別中嵌入功能 a 聚合 或組合 包含乙個所需功能型別的具名字段。b 內嵌 內嵌 匿名地 所需功能型別,像前一節 10.6 5 所演示的那樣。為了使這些概念具體化,假設有乙個 customer 型別,我們想讓它通過 log 型別來包含日誌功能,log 型別只是簡單地包含乙個累積...

如何在shell指令碼中擷取字串

假設有變數 var 1.號擷取,刪除左邊字元,保留右邊字元。echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 即刪除 http 結果是 www.aaa.com 123.htm 2.號擷取,刪除左邊字元,保留右邊字元。echo 表示從左邊開始刪除最後 最右邊 ...