我试图通过python程序调用我在.profile中定义的bash函数。对于上下文,我的函数调用chef的刀命令:
function knife-LHR() {
knife $@ -c ~/.chef-LHR/knife.rb
}
如果您想知道我为什么不将函数的逻辑合并到我的python程序中,那是因为我的用户在他们的bash配置文件中定义了这个函数,我的意图是支持他们的使用(在这种情况下)刀具命令。
如何使用python子进程完成此操作?
答案 0 :(得分:5)
我认为最好的方法是启动一个bash进程并让它调用命令:
import subprocess
subprocess.call(['bash', '-c', '. ~/.profile && knife-LHR'])