我想编写一个小脚本来获取我的 virtualenv(用于 Python 项目)目录。当我在我的项目目录中的某个地方时,我知道我的虚拟环境的“venv”目录位于我当前目录的祖先之一的目录中。
我想编写一个 shell 脚本,venv/bin/activate
它的来源和效果应该在这个 shell 脚本之外持续存在。这不是现在发生的。
这是我的代码:
#!/bin/bash
#set -x
while [ $PWD != "/" ]; do
#echo $PWD
if [ -d "venv" ]; then
echo "venv found in $PWD. Sourcing."
source venv/bin/activate
break
else
cd ..
fi
done
为什么它现在不起作用,我该如何解决?
编辑:
如果有帮助,venv/bin/activate 的内容在这里:http ://pastebin.com/TZ40brsq 由virtualenv工具生成(一般用于 Python 项目)。