试图获取venv文件夹的名称,以便在项目内部的bash脚本中激活它。因为有人可以用另一个名字来销售,比如"someones_env">
projectdir=$(cd ../../ && pwd)
echo "$(dirname "$projectdir")"
venvdir=$(find "$(dirname "$projectdir")" -name '*env')
echo "$(dirname "$venvdir")"
source "$(dirname "$venvdir")"/bin/activate
但是$venvdir与$projectdir相同,而不是"someones_env">
我做错了什么?感谢
*env
文件夹的目录是项目目录,这就是为什么dirname "$venvdir"
与项目目录相同。如果没有dirname
,它应该可以工作。
此外,../../
的目录是../../../
,这可能也会给您带来一些问题。如果您已经在一个目录中,则不需要使用dirname
。dirname
计算父目录。