wji*_*271 1 python bash subprocess
我试图从python程序中调用我在.profile中定义的bash函数.对于上下文,我的函数调用chef的knife命令,如下所示:
function knife-LHR() {
knife $@ -c ~/.chef-LHR/knife.rb
}
Run Code Online (Sandbox Code Playgroud)
如果你想知道为什么我不只是将函数的逻辑合并到我的python程序中,因为我的用户在他们的bash配置文件中定义了这个函数,我的意图是支持他们使用(在这种情况下)knife命令.
如何使用python子进程完成此操作?
我想这样做的最好方法是启动一个bash进程并让它调用命令:
import subprocess
subprocess.call(['bash', '-c', '. ~/.profile && knife-LHR'])
Run Code Online (Sandbox Code Playgroud)