繁体   English   中英

设置环境变量并从Python脚本运行Shell脚本

[英]Set Env Variables and Run Shell Script From Python Script

我是Python的新手,它试图找到一种方法来设置几个shell env变量,然后执行一个shell脚本。

subprocess模块是否能够发送多个Shell命令并捕获输出?

这对我来说还不清楚,因为每次生成都会产生一个新的Shell线程,而该线程将没有以前的env变量。

另外,使用popencheck_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)。

非常感谢您的评论和建议。

subprocess进程每次都会创建一个线程。 您可以使用popen执行shell命令。 使用分号作为分隔符。 os.popen('setenv ab;set env c d')

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM