0

我需要构建两个逻辑卷。sda1 将始终形成 /root 并为日志等进行分区,但 /application 可能包含一到四个附加磁盘。我知道他们总是从 sdb 开始,然后继续到 sde 或 sdf。我可以想到几个不同的快速而肮脏的解决方案,比如运行一个 bash 命令来构建一个要注册为变量的列表,但我想做的是从 Ansible 设置事实的 ansible_devices 部分下拉并匹配sd[bz] 的正则表达式。我知道我不太可能拥有 sdz,但我希望尽可能保持灵活性。有没有人有这方面的好技术?jinja2 过滤器是错误的方法吗?

4

1 回答 1

1

您可以将select过滤器与match测试一起使用:

{{ ansible_devices.keys() | select('match','sd[b-c]') | list }}

用于在列表map('‌​regex_replace','^','‌​/dev/')中添加每个字符串都很好。

于 2017-09-05T06:28:24.513 回答