所以我一直坚持这个问题一段时间了。我有一个需要执行bash脚本的cgi python脚本。我的代码中有以下行:
os.system("/complete/path/to/executable/run_summary_page.sh " + labelName)
我一直在尝试调试这几个小时,我无法找出它为什么没有正确执行。当我从命令行运行相同的精确行时,它完全正常。我已经给了该bash脚本的正确权限等等,但它仍然无法正常工作。注意,我被迫使用python 2.2所以我对我可用的实用程序数量有一点限制。
答案 0 :(得分:1)
我不记得python 2.2中的所有内容和不存在的内容,但您可以尝试一种简单的替代方法来调用该命令并查看发生的情况:
import commands
stat, output = commands.getstatusoutput("command")
这不是运行命令最强大的方法,但它是一种简单的方法来检查当前正在进行的操作。如果stat
为!= 0
,则失败。您还应该能够在output
如果stat == 0
并且output
中没有任何内容,那么我怀疑你的bash脚本遇到了某种情况,结束了,并没有真正打印任何有用的内容。也许它期待某些环境变量,只是在事情不对时忽略并快乐地移动。