【问题标题】:How do I execute a bash function defined in .profile using python subprocess module?如何使用 python 子进程模块执行 .profile 中定义的 bash 函数?
【发布时间】:2014-09-17 21:22:32
【问题描述】:

我正在尝试从 python 程序调用我在 .profile 中定义的 bash 函数。对于上下文,我的函数像这样调用厨师的刀命令:

  function knife-LHR() {
    knife $@ -c ~/.chef-LHR/knife.rb
  }

如果你想知道为什么我不只是将函数的逻辑合并到我的 python 程序中,那是因为我的用户在他们的 bash 配置文件中定义了这个函数,我的目的是支持他们(在这种情况下)刀的使用命令。

如何使用 python 子进程完成此操作?

【问题讨论】:

    标签: python bash subprocess


    【解决方案1】:

    我想最好的方法是启动一个 bash 进程并让它调用命令:

    import subprocess
    subprocess.call(['bash', '-c', '. ~/.profile && knife-LHR'])
    

    【讨论】:

      猜你喜欢
      • 2011-09-10
      • 2018-04-22
      • 2013-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 2016-10-12
      相关资源
      最近更新 更多