【发布时间】:2019-12-11 13:43:11
【问题描述】:
当我在终端中运行 shell 脚本时,它会按我的意愿工作 当我输入时在终端中:./hello.sh pdflatex 运行并且文件编译。它完美地工作。 pdflatex 创建一个 pdf 文件,一切都很好。
我在与 shell 脚本相同的目录中有一个 python 脚本。当我通过调用 shell 脚本运行该脚本时,什么也没有发生
代码不会出错
我浏览了论坛,但没有解决这个具体问题
名为 hello.sh 的 shell 脚本包含:
#! /bin/bash
pdflatex n1.tex
import subprocess
subprocess.Popen(['/bin/bash', './hello.sh'],shell=True)
我想要发生的是,当我运行这个 python 脚本时,它会执行 shell 脚本,而另一个程序 pdflatex 会创建 pdf 文档
【问题讨论】:
-
如果你使用
shell=True,那么你使用字符串'/bin/bash ./hello.sh'而不是列表。
标签: python shell scripting subprocess