如何用Terragrunt内置函数提取路径中的dev文件夹名?
提取路径中的
dev 要从给定的文件路径中提取dev,可以使用以下Terragrunt内置函数组合:
basename(dirname(dirname(get_terragrunt_dir())))
分步解析:
get_terragrunt_dir():返回当前terragrunt.hcl文件的完整路径(根据你的描述,此处为/git/projects/terragrunt-project/dev/vnet/terragrunt.hcl)- 第一次调用
dirname():获取上述路径的父目录,结果为/git/projects/terragrunt-project/dev/vnet - 第二次调用
dirname():再次获取父目录,结果为/git/projects/terragrunt-project/dev basename():提取该路径的最后一段,最终得到dev
另外,也可以通过拆分路径的方式实现,代码如下:
element(split("/", get_terragrunt_dir()), length(split("/", get_terragrunt_dir())) - 3)
拆分路径方式解析:
split("/", get_terragrunt_dir()):将路径按/拆分为字符串列表,结果为["", "git", "projects", "terragrunt-project", "dev", "vnet", "terragrunt.hcl"]length(split(...)) - 3:计算dev在列表中的索引(列表长度为7,7-3=4)element(...):取出索引为4的元素,即dev
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

