2011-07-28 32 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