使用find..获取文件夹名称-bash中的name命令



试图获取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,它应该可以工作。

此外,../../的目录是../../../,这可能也会给您带来一些问题。如果您已经在一个目录中,则不需要使用dirnamedirname计算父目录。

最新更新