如何将哪条命令的结果导入子进程中的另一条命令?

问题描述 投票:0回答:1

我如何将哪条命令的结果导入 which somecommandouterCommand 以便复制我将在shell中做的事情的结果,如 outercommand 'which somecommand'

python subprocess
1个回答
0
投票

根据文档中的建议,我将避免使用低级接口 Popen,从长远来看,正确使用是很棘手的,盲目地使用 shell=True这可能会使你暴露在 壳注入攻击.

因此,我建议采用更简单的方法,如果这是你所需要的:只需捕获输出并使用新的 capture_output 的参数。subprocess.run() API。

这将得到你需要的东西。

completed_process = subprocess.run(['outercommand', subprocess.run(['which', 'somecommand'], capture_output=True).stdout], capture_output=True)

completed_process.check_returncode()
print(completed_process.stdout.decode('utf-8'))
© www.soinside.com 2019 - 2024. All rights reserved.