作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何从 python 获取 bashrc。我自动将脚本转换为别名等等。这是我在 shell 中看到的内容:
In [6]: subprocess.call(['sudo', 'source', '/home/cchilders/.bashrc'])
sudo: source: command not found
Out[6]: 1
In [7]: subprocess.call(['sudo', '.', '/home/cchilders/.bashrc'])
sudo: .: command not found
谢谢
最佳答案
当您使用 subprocess.call 时,您没有使用 shell - 注意: https://docs.python.org/2/library/subprocess.html#subprocess.call
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
subprocess.call 的默认值是没有环境的,因为您不在 shell 中。 Source 是 bash 内置程序,因此没有可供子进程执行的程序。并且可能 bashrc 中的大部分代码在子进程的上下文中调用是没有意义的。
您可能想要做的是提供更多详细信息,说明您试图通过获取 bashrc 文件来完成什么任务,该文件可以以更 Python 的方式完成。
关于python - 如何从 python 脚本获取 bashrc/bashprofile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34213416/
这个问题已经有答案了: Calling the "source" command from subprocess.Popen (9 个回答) 已关闭去年。 我想知道如何从 python 获取 bash
我是一名优秀的程序员,十分优秀!