我是Python的新手,试图找到一种方法来设置几个shell env变量,然后执行一个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
转换为python)。
感谢您的评论和意见。
答案 0 :(得分:0)
subprocess
每次都会创建一个帖子。您可以使用popen
执行shell命令。使用分号作为分隔符。例如os.popen('setenv a b;set env c d')
希望它有所帮助。