从Python脚本设置环境变量并运行Shell脚本
我刚开始学Python,想找个方法来设置几个环境变量,然后执行一个shell脚本。
请问subprocess模块能否发送多个shell命令并捕获输出呢?
我不太明白,因为每次启动一个新的进程都会产生一个新的shell线程,这个线程不会继承之前的环境变量。
另外,使用popen或者check_output合适吗?
我基本上想做的是:
$ setenv a b
$ setenv c d
$ setenv e f
$ check_status.sh > log.log
$ grep "pattern" log.log
其中check_status.sh必须定义上述环境变量才能正常运行,而且它也必须是一个shell脚本(也就是说,我不能把check_status.sh转换成Python代码)。
期待你们的评论和建议。
相关问题:
1 个回答
0
subprocess 每次会创建一个线程。你可以用 popen 来执行 shell 命令。用分号作为命令之间的分隔符。例如,你可以这样写:os.popen('setenv a b;set env c d')。
希望这对你有帮助。