我如何将哪条命令的结果导入 which somecommand
到 outerCommand
以便复制我将在shell中做的事情的结果,如 outercommand 'which somecommand'
根据文档中的建议,我将避免使用低级接口 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'))