在python中使用子进程模块运行命令时无法获取bash dotfiles

时间:2014-01-20 21:21:24

标签: python bash shell subprocess

我正在尝试编写一个通过bash运行命令的python脚本。

subprocess.Popen(cmd, shell=True, executable='/bin/bash')

该脚本工作正常,但它不会获取我的bash别名或其他配置。我如何包含它们?在python中有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

使用--init-file参数执行bash。来自bash手册页:

   --init-file file
   --rcfile file
          Execute  commands  from file instead of the system wide initial‐
          ization file /etc/bash.bashrc and the standard personal initial‐
          ization  file ~/.bashrc if the shell is interactive (see INVOCA‐
          TION below).