初始化脚本未从 PWD 运行

初始化脚本未从 PWD 运行

我已经安装了gunicorn webserver并制作了gunicorn virtualenv init.d脚本,但是当我service gunicorn start从项目目录运行服务时它运行良好,但是当我当前的工作目录发生更改(例如/root或任何其他目录)时,它会给我错误。我已经编辑了 init 脚本,并在该脚本cd /root/demoproject/从任何工作目录运行的开始处添加以下命令。除了cd /root/demoproject/在初始化脚本中添加命令之外,实际的解决方案还有什么?

答案1

如果脚本需要在特定的工作目录下运行(由于它使用相对路径,或者它所做的任何事情),那么让脚本更改其工作目录并没有什么问题。

人们可能想做的唯一一件事就是如果失败,则以非零退出状态退出cd

cd /root/demoproject || exit 1

您还可以根据环境变量的值更改脚本中的目录:

cd "${MY_WORK_DIR:-/root/demoproject}" || exit 1

这会将工作目录更改为 给定的目录,但如果该变量为空或未设置,则MY_WORK_DIR默认为。/root/demoproject

相关内容