【发布时间】:2020-08-14 12:33:00
【问题描述】:
我必须激活虚拟环境 (venv),所以我在终端中手动运行这些命令:
source .venv/bin/activate # To activate the virtual env.
和
deactivate # To deactivate the virtual env
手动运行时效果很好。现在我必须在 bash 脚本中插入这些命令,以使 AWS CodeDeploy 将其部署在 Ubuntu 18.04 服务器上。
我的名为 after_install.sh 的 bash 脚本看起来像这样......
#!/usr/bin/env bash
set -e
source .venv/bin/activate
## DO SOME STUFF ##
deactivate
对于本地测试,我使脚本可执行并使用bash after_install.sh 运行脚本。但是什么也没发生。它不会激活虚拟环境。运行 bash 脚本时,上述命令似乎都不起作用。
当我手动运行这些命令而不是使用 bash 脚本时,我不明白为什么这些命令可以工作。到底是怎么回事?我需要在 bash 脚本中编写这些命令,以便 AWS CodeDeploy 可以将其部署在服务器上。
【问题讨论】:
-
你为什么用
set -e?
标签: python linux bash amazon-web-services ubuntu