2015-12-08 208 views
1

有人可以幫助我瞭解如何從shell腳本中調用'x'函數的語法。這裏的挑戰是,從shell腳本需要動態地傳遞a,b。從shell腳本中調用python函數

你的建議非常感謝。

Python代碼:

def x(a,b): 
    '''x(a,b) --> [a,b]''' 
    return [a,b] 

def add(a,b): 
    '''add(a,b) --> a+b''' 
    return a+b 

def test(): 
    '''test code for all modules''' 
    print "testing x..." 
    print x(1,2) 
    print x('a','b') 
    print x([1,2,3],[4,5,6]) 
    print "testing add..." 
    print add(1,2) 
    print add('a','b') 
    print add([1,2,3],[4,5,6]) 
    return 
+0

哇。在發佈失敗之前進行最終搜索。 –

+0

@MadPhysicist,但答案是舊的,而不是Python3兼容 –

+0

@JohnLaRooy這不是一個Python3的問題,* nix上的'$ python'應該總是運行python2。如果您想更新答案,請對副本進行更新。 –

回答

2

如果你保存文件foo.py,您可以從shell

python -c "import foo; print(foo.x(1, 2))" 

結果運行此可以從標準輸出讀取。

+0

感謝您的迴應..但我需要動態傳遞參數。像python -c「import foo; print(foo.x($ {var1},$ {var2}))」 – SVN

+0

所以那樣做。什麼阻止你? –

+0

這不適用於我們的紅帽企業Linux服務器版本5.11,請幫助我確定替代方案 – SVN