【发布时间】:2016-07-01 12:47:00
【问题描述】:
我有一个应用程序开发服务器,它每晚都会使用我们使用crontab 运行的大量 shell 脚本自动更新。该脚本在文件顶部指定#!/bin/sh,我无法更改它。该脚本的基本目的是遍历机器并在我们在脚本中列出的每个目录中下载最新的代码。在更新完所有的存储库之后,我们执行一些脚本,通过直接调用 virtualenv 的 python 来使用适当的虚拟环境(Django manage.py 命令)更新相关数据库。
我遇到的问题是,我们在其中一个虚拟环境中安装了所有必要的 Sphinx 插件,以允许我们从脚本末尾的代码构建文档,但我似乎无法弄清楚如何允许 make 命令在 virtualenv 内部运行,以便它可以访问正确的包和库。我需要一种在虚拟环境中运行 make 命令的方法,如果需要,之后可以停用该环境,以便脚本的其余部分可以运行。
我当前的脚本如下所示,并在后 3 行出现错误,因为 sh 没有工作或停用,并且因为 make 找不到 sphinx-build。
cd ${_proj_root}/dev/docs
workon dev
make clean && make html
deactivate
【问题讨论】:
标签: shell cron python-sphinx