我试图configuration一个状态,将查看系统的主目录,并遍历他们检查特定的文件。 为了做到这一点,我最初写道:
{% for userdir in salt['cmd.run']('ls /home').split('\n') %}
为我的循环,这很好。 不过,我希望能够轻松地将其设置为可替代的环境,所以我曾经考虑将主目录位置存储在一个支柱内,并将行更改为:
{% for userdir in salt['cmd.run']('ls pillar['home']').split('\n') %}
给了Jinja syntax error: expected token 'comma', got 'home'; 我假设因为嵌套的双套
所以我试了一下:
{% for userdir in salt['cmd.run']('ls pillar["home"]').split('\n') %}
这给了我: Rendering SLS failed: mapping values are not allowed here;
我已经看过尽可能多的支柱循环情况,我可以尝试find一个我可以解决的例子,但似乎并不存在。
是否有可能从国内调用支柱信息? 还是有更好的方法来实现这个目标?
任何帮助,将不胜感激。
你只需要在string外面进行映射: {% for userdir in salt['cmd.run']('ls '+pillar['home']).split('\n') %}