2011-07-28 38 views
0

我正在使用SSH(不要求)使用subprocess進行bash查詢。查詢包括使用find-exec選項,但是,在查看目標主機上實際執行的查詢時,遠程目標主機上的{}將無法​​正確展開。bash通過Python子進程查詢,bash變量不會展開

例如:find/-name "hello.txt" -exec echo {} \;其中{}應該爲hello.txt,但它僅僅只讀爲{}

那麼,我在這裏錯過了什麼?

在此先感謝。

回答

4

如果您發佈了一些代碼,這將有所幫助,但我的猜測是您的子流程參數中沒有包含shell=True,這是變量擴展所必需的。例如:

subprocess.Popen('find/-name "hello.txt" -exec echo {} \;', shell=True) 
+0

Yupp,我知道:-)代碼在另一臺機器上。但是你是正確的,使用'shell = False'。 – Anders