2017-06-14 86 views
-1

有沒有什麼辦法可以從shell腳本執行python代碼塊並將輸出作爲變量獲取並且使用這些變量繼續執行腳本。shell腳本中的Python代碼

+1

解釋你想要做什麼,你試圖做什麼以及你在與什麼努力 – Arount

+0

我想在shell腳本中運行python代碼。 反正,這對我有用: python -c'import foo;打印foo.hello()' –

回答

3
python -c 'import foo; print foo.hello()' 

之後,你可以在bash中使用輸出作爲變量,並用它做任何你想要的。

+0

謝謝,它爲我工作得很好。 –

0

是的,就此而言,您可以執行任何可執行腳本/程序並捕獲腳本的輸出以及腳本的返回/退出代碼。

#!/bin/sh 

LSOUT=`ls -l /etc/passwd` 
echo "Return Code is: [$?]" 
echo "Output is: [$LSOUT]" 
+0

實際上,我想在shell腳本中運行python代碼,並且不希望在shell腳本中執行python腳本(因爲我不想攜帶python代碼文件以及shell代碼文件)。 –

+0

我懷疑這是可能的。不能在沒有執行明確的exec的情況下在腳本中使用另一個解釋器。特別是解釋器/語言與你的情況下的bash和python完全不同。 – asatsi

+0

其實它的工作: [MyServer的]#貓tmp.sh #/斌/慶典 在/ usr/bin中/ Python的-c「打印 「你好蘇雷什」; A = 2; B = 5; C = A + b;打印c' [MyServer]#./tmp.sh 你好蘇雷什 [我的服務器]# –