我对Python很陌生,试图找到一种方法来设置几个shell env变量,然后执行一个shell脚本。设置Env变量并从Python脚本运行Shell脚本
subprocess
模块能够发送多个shell命令并捕获输出吗?
这对我来说并不清楚,因为每个spawn都会导致一个新的shell线程不会有以前的env变量。
此外,使用popen
或check_output
是否合适?
基本上我想要做的是:
$ setenv a b
$ setenv c d
$ setenv e f
$ check_status.sh > log.log
$ grep "pattern" log.log
凡check_status.sh
必须定义才能正常运行上面的ENV变量,它也必须是shell脚本(即我无法翻译check_status.sh
到蟒蛇)。
我会感谢您的意见和输入。
@favoretti还没有尝试过,只是想办法。也没有寻找代码解决方案,只是你的想法问题陈述。 –
@favoretti虽然[“与另一个命令交互”](http://pymotw.com/2/subprocess/)部分似乎很有趣。 –
你见过这个吗? http://stackoverflow.com/questions/5971312/how-to-set-environment-variables-in-python?请注意,它表示子进程自动继承设置值,所以简短答案是肯定的,这是可能的。 :) – favoretti